Tena koe Ben > -----Original Message----- > From: r-help-boun...@r-project.org > [mailto:r-help-boun...@r-project.org] On Behalf Of bwgoudey > Sent: Wednesday, 26 August 2009 2:55 p.m. > To: r-help@r-project.org > Subject: Re: [R] Filtering matrices > > > > r<-rcorr(d[[1]]) #d is matrix containing observation r[[1]] > #r values > age sex BMI > age 1.0000000 -0.30010322 -0.13702263 > sex -0.3001032 1.00000000 0.06300528 > BMI -0.1370226 0.06300528 1.00000000 > > r[[2]] #Number of obervations > age sex BMI > age 100 100 100 > sex 100 100 100 > BMI 100 100 100 > > r[[3]] #P values > age sex BMI > age NA 0.002416954 0.1740134 > sex 0.002416954 NA 0.5334484 > BMI 0.174013354 0.533448366 NA > > If I wanted to return a matrix containing all points where > correlation was above 0.75 and P-value was below 0.05, how > would I do this? > > Cheers > Ben
It is not clear to me what 'matrix' you wish to have returned since you'll be keeping an unknown number of values. However, if you are happy just to replace the unwanted values with a missing value then something like r[[1]][r[[1]]<0.75 | (r[[3]]>0.05 & !is.na(r[[3]]))] <- NA might work. I say 'might' because I am unfamiliar with rcorr() and thus am not sure whether the components of r are matrices or dataframes, and the above is untested. You might be interested in abs(r[[1]]). HTH .... Peter Alspach ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.