我正在寻找一种从数据集中提取前n组行的方法。
set.seed(1)
data <- data.frame(PersonID= sample(1:10, 25,replace=TRUE), value=rnorm(25))
如果我想提取前4组,即。 PersonID = 3,4,6,10
的行 PersonID value
1 3 -0.2894616
2 4 -0.2992151
3 6 -0.4115108
4 10 0.2522234
5 3 -0.8919211
----------------------
答案 0 :(得分:1)
我使用了唯一的:
data[data$PersonID %in% unique(data$PersonID)[1:4],]
PersonID value
1 3 -0.2894616
2 4 -0.2992151
3 6 -0.4115108
4 10 0.2522234
5 3 -0.8919211
7 10 -1.2375384
11 3 0.8041895
14 4 1.0857694
18 10 -0.2357066
19 4 -0.5428883
21 10 -0.6494716
22 3 0.7267507
25 3 -0.4295131
答案 1 :(得分:0)
尝试使用以下简单代码:
xx =c(3,4,6,10 )
data[data$PersonID %in% xx,]
PersonID value
1 3 -0.2894616
2 4 -0.2992151
3 6 -0.4115108
4 10 0.2522234
5 3 -0.8919211
7 10 -1.2375384
11 3 0.8041895
14 4 1.0857694
18 10 -0.2357066
19 4 -0.5428883
21 10 -0.6494716
22 3 0.7267507
25 3 -0.4295131