if I have a vector, I can find the indexes which satisfy a condition:
x <- rnorm(10)
[1] 0.4751132 -0.5442322 -0.1979854 -0.2455521 0.8349336 -0.4283345
[7] 0.6108130 2.0576160 1.1251716 -1.3933637
x[x>0]
[1] 0.4751132 0.8349336 0.6108130 2.0576160 1.1251716
(1:10)[x>0]
[1] 1 5 7 8 9
how about a matrix?
00000G 00000Q 00002O 000035 000037 00003A
00000G NA 0.008226002 0.005631718 0.0002625585 0.0010673235 0.0045310915
00000Q NA NA 0.003714951 0.0002007877 0.0016983426 0.0011083925
00002O NA NA NA 0.0024233691 0.0069849678 0.0024510792
000035 NA NA NA NA 0.0006499707 0.0008420414
000037 NA NA NA NA NA 0.0005448872
00003A NA NA NA NA NA NA
00003B NA NA NA NA NA NA
00003G NA NA NA NA NA NA
00003H NA NA NA NA NA NA
00003I NA NA NA NA NA NA
00003B 00003G 00003H 00003I
00000G 0.0007254316 0.0093954826 3.420231e-04 0.003974556
00000Q 0.0013883606 0.0019778247 3.609791e-05 0.001552725
00002O 0.0027340806 0.0082790646 2.561862e-03 0.012297821
000035 0.0006025767 0.0004534397 1.053946e-03 0.001681780
000037 0.0005501974 0.0021137871 1.733880e-03 0.003712675
00003A 0.0008969849 0.0043855527 2.786194e-06 0.002492954
00003B NA 0.0019791290 8.301787e-04 0.002816774
00003G NA NA 3.181892e-07 0.010608717
00003H NA NA NA 0.001066141
00003I NA NA NA NA
how do I find the cells whose values are, e.g., > 0.01 ??
thanks!
--
Sam Steingold (http://sds.podval.org/) on Ubuntu 11.10 (oneiric) X 11.0.11004000
http://www.childpsy.net/ http://pmw.org.il http://americancensorship.org
http://ffii.org http://iris.org.il http://truepeace.org http://dhimmi.com
The difference between genius and stupidity is that genius has its limits.
R. Michael Weylandt <michael.weylandt@gmail.com>
2012-Feb-13 22:46 UTC
[R] matrix subsetting
which(x>0) or which(x>0, arr.ind=TRUE) depending on your application. Michael On Feb 13, 2012, at 5:38 PM, Sam Steingold <sds at gnu.org> wrote:> if I have a vector, I can find the indexes which satisfy a condition: > x <- rnorm(10) > [1] 0.4751132 -0.5442322 -0.1979854 -0.2455521 0.8349336 -0.4283345 > [7] 0.6108130 2.0576160 1.1251716 -1.3933637 > x[x>0] > [1] 0.4751132 0.8349336 0.6108130 2.0576160 1.1251716 > (1:10)[x>0] > [1] 1 5 7 8 9 > > how about a matrix? > > 00000G 00000Q 00002O 000035 000037 00003A > 00000G NA 0.008226002 0.005631718 0.0002625585 0.0010673235 0.0045310915 > 00000Q NA NA 0.003714951 0.0002007877 0.0016983426 0.0011083925 > 00002O NA NA NA 0.0024233691 0.0069849678 0.0024510792 > 000035 NA NA NA NA 0.0006499707 0.0008420414 > 000037 NA NA NA NA NA 0.0005448872 > 00003A NA NA NA NA NA NA > 00003B NA NA NA NA NA NA > 00003G NA NA NA NA NA NA > 00003H NA NA NA NA NA NA > 00003I NA NA NA NA NA NA > 00003B 00003G 00003H 00003I > 00000G 0.0007254316 0.0093954826 3.420231e-04 0.003974556 > 00000Q 0.0013883606 0.0019778247 3.609791e-05 0.001552725 > 00002O 0.0027340806 0.0082790646 2.561862e-03 0.012297821 > 000035 0.0006025767 0.0004534397 1.053946e-03 0.001681780 > 000037 0.0005501974 0.0021137871 1.733880e-03 0.003712675 > 00003A 0.0008969849 0.0043855527 2.786194e-06 0.002492954 > 00003B NA 0.0019791290 8.301787e-04 0.002816774 > 00003G NA NA 3.181892e-07 0.010608717 > 00003H NA NA NA 0.001066141 > 00003I NA NA NA NA > > how do I find the cells whose values are, e.g., > 0.01 ?? > > thanks! > > -- > Sam Steingold (http://sds.podval.org/) on Ubuntu 11.10 (oneiric) X 11.0.11004000 > http://www.childpsy.net/ http://pmw.org.il http://americancensorship.org > http://ffii.org http://iris.org.il http://truepeace.org http://dhimmi.com > The difference between genius and stupidity is that genius has its limits. > > ______________________________________________ > R-help at 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.