【发布时间】:2017-06-30 09:09:22
【问题描述】:
我有一个数据框
df<-data.frame(var1=c(1:11),I_var1=c(11:21),
var2=c(rep(c(0,0.1),each=5),0.1),var4=c(rep(c(0:4),2),4))
var1 I_var1 var2 var4
1 11 0.0 0
2 12 0.0 1
3 13 0.0 2
4 14 0.0 3
5 15 0.0 4
6 16 0.1 0
7 17 0.1 1
8 18 0.1 2
9 19 0.1 3
10 20 0.1 4
11 21 0.1 4
我必须在特定数字的每个重复单元格处拆分,即 df$var4==4
我试过了-
X <- split(df,cut(df$var4,4))
但这给出了错误的结果。 我想要的是- 2 个数据帧(或列表作为拆分给出列表),其中 var4 介于 0 和 4 之间。第二个数据帧应该有两行 var4==4。
我不想使用子集,因为原始数据帧有 >1000 万条记录。
我如何做到这一点并且速度非常快?
【问题讨论】:
-
它应该是什么样子?
-
2 个包含所有列的列表,但 var4 应该是 0:4,因为我想在每次 var4 列中出现 4 时剪切