[R] Selective subsetting

Peter Dalgaard p.dalgaard at biostat.ku.dk
Fri Nov 10 23:19:42 CET 2006


"Davendra Sohal" <dsohal at gmail.com> writes:

> Hi all,
> Here's an interesting (for me, at least!) problem I came across:
> I have a correlation matrix, let's say with 6 variables, A to F, as column
> headings and the same 6 as row headings.
> The matrix is filled with correlation coefficients. Therefore, the diagonal
> is all 1's, and each of the two triangles formed by the diagonal has the
> same 15 correlation coefficients.
> I need to extract these 15 coefficients from this. I don't want the 1's and
> I don't want redundant values.
> I tried converting the matrix to a list, using c(m) and then I'm stuck.
> Does something like b = a[x, x+1:n] exist in R? SAS will do it.
> x can be looped to go from 1 to n (n here is 6, of course) and it will
> select the required values, but I cannot make it work.
> Please help.
> Many thanks,

m[lower.tri(m)]

(or upper.tri(m), depending on the order in which you want the coefs)
-- 
   O__  ---- Peter Dalgaard             Øster Farimagsgade 5, Entr.B
  c/ /'_ --- Dept. of Biostatistics     PO Box 2099, 1014 Cph. K
 (*) \(*) -- University of Copenhagen   Denmark          Ph:  (+45) 35327918
~~~~~~~~~~ - (p.dalgaard at biostat.ku.dk)                  FAX: (+45) 35327907



More information about the R-help mailing list