【发布时间】:2020-07-01 04:27:18
【问题描述】:
我想通过x1和x2中的多个条件从以下给定数据框创建four数据集
mydata=structure(list(y = c(-3, 24, 4, 5, 3, -3, -3, 24, 5, 4, 8, 7,
9, 2, 4, 8, 7, 3, 8, 12, 9, 10, 12, 11, 2),
x1 = c(0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1,
0, 1, 0, 1, 1, 0, 0, 1, 1, 1
),
x2 = c(1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0,
0, 1, 0, 0, 1, 1, 1, 0)), class = "data.frame",
row.names = c(NA,25L))
第一个数据集是mydata00,它是用x1=0和x2=0这些条件构造的,
mydata00=filter(mydata, c(mydata$x1==0 & mydata$x2==0))
> mydata00
y x1 x2
1 -3 0 0
2 -3 0 0
3 8 0 0
4 3 0 0
5 9 0 0
现在,我只需要y 的unique 值以及对应的x1 和x2。最后,我想对y进行排序。所以我的最终数据集必须看起来像
y x1 x2
1 -3 0 0
2 3 0 0
3 8 0 0
4 9 0 0
我想为mydata11、mydata10、mydata01 工作,其中,
mydata11=filter(mydata, c(mydata$x1==1 & mydata$x2==1))
mydata10=filter(mydata, c(mydata$x1==1 & mydata$x2==0))
mydata01=filter(mydata, c(mydata$x1==0 & mydata$x2==1))
我可以使用任何 for 循环或内置函数来创建这些数据集吗? 任何帮助表示赞赏。
【问题讨论】:
标签: r dataframe conditional-statements subset multiple-columns