创建一个从数据集中提取n个组的函数

时间:2014-08-18 07:20:07

标签: r

我正在寻找一种从数据集中提取前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
  ----------------------

2 个答案:

答案 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