1


想象一下这是我的df

>df
gen A   B   C   D
M1  1   2   3   4
M1  8   6   5   3
M1  4   8   6   0
M1  8   5   6   3
M2  8   5   6   0
M2  0   2   8   6
M3  3   8   9   2
M3  8   9   5   6
M4  3   7   8   5
M4  5   6   3   2

在这里,如何根据第一列对重复项集进行子集化,例如

M1  1   2   3   4
M1  8   6   5   3
M1  4   8   6   0
M1  8   5   6   3

非常感谢

4

1 回答 1

0

这将起作用。

> d
   gen A B C D
1  M1   1 2 3 4
2  M1   8 6 5 3
3  M1   4 8 6 0
4  M1   8 5 6 3
5  M2   8 5 6 0
6  M2   0 2 8 6
7  M3   3 8 9 2
8  M3   8 9 5 6
9  M4   3 7 8 5
10 M4   5 6 3 2
> subset(d, (gen %in% c("M1")))
   h gen A C D
1 M1   1 2 3 4
2 M1   8 6 5 3
3 M1   4 8 6 0
4 M1   8 5 6 3

对于以编程方式分组和循环:

for (i in unique(d$gen)) { print(subset(d, (gen %in% c(i)))) } 
于 2014-03-22T05:20:18.620 回答