想象一下这是我的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
非常感谢
答案 0 :(得分: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)))) }