R 创建从数据集中提取n个组的函数
我正在寻找一种从数据集中提取前n组行的方法R 创建从数据集中提取n个组的函数,r,R,我正在寻找一种从数据集中提取前n组行的方法 set.seed(1) data <- data.frame(PersonID= sample(1:10, 25,replace=TRUE), value=rnorm(25)) 我使用了独特的: data[data$PersonID %in% unique(data$PersonID)[1:4],] PersonID value 1 3 -0.2894616 2 4 -0.2992151 3
set.seed(1)
data <- data.frame(PersonID= sample(1:10, 25,replace=TRUE), value=rnorm(25))
我使用了独特的:
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
尝试以下简单代码:
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
如果数据集中的组少于
n
组会怎么样?@Spacedman。在这种情况下,不应该返回任何东西。函数必须返回一些东西-NA?无效的具有零行的数据帧?-除非它停止并引发错误。
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