[R] removing rows from a matrix using condition within groups
swam
sundarswam at yahoo.com
Wed Oct 20 17:37:38 CEST 2010
I am needing some help in removing certain rows in a data.matrix and then do
some calculation. So Iam need to removing certain values above a threshold
or value from another vector.
For eg.. in the below data matrix X there are 6 groups (A, B, C, D, E ,F)
>X
rows groups values
1 A 1.2
2 A 0.2
3 A 6
4 A 0.5
5 A 22
6 B 0.2
7 B 1
8 C 0.5
9 D 5
10 D 4
11 D 40
12 E 0.3
13 E 0.5
14 E 1
15 E 1.1
16 E 0.9
17 E 4
18 F 0.22
19 F 0.32
20 F 1.5
I have another array Y with 6 values (equal to the number of groups in X).
I need to remove the rows in each group in X that is greater than the first
value in Y for Group A in X and similarly for group B and so on…..
>Y
A 1.5
B 1.1
C 0.8
D 6
E 2
F 1.9
For eg… any value greater than 1.5 (from vector Y) must be removed in Matrix
X only for group A. similarly for all, hence the result will be like the
matrix shown below…
rows groups values
1 A 1.2
2 A 0.2
3 A 6
4 A 0.5
5 B 0.2
6 B 1
7 C 0.5
8 D 5
9 D 4
10 E 0.3
11 E 0.5
12 E 1
13 E 1.1
14 E 0.9
15 F 0.22
16 F 0.32
17 F 1.5
I tried to get this with no luck any help would be appreciated.
swam
--
View this message in context: http://r.789695.n4.nabble.com/removing-rows-from-a-matrix-using-condition-within-groups-tp3004132p3004132.html
Sent from the R help mailing list archive at Nabble.com.
More information about the R-help
mailing list