在R中,如何根据多个分类变量将数据拆分为多个子集的列表?

时间:2017-04-07 19:59:44

标签: r split subset

在我的数据框中,我有很多逻辑变量,我想将数据帧拆分成多个子集,条件是每个逻辑变量为TRUE。例如,我们假设这是我的df:

     V1    V2    V3 V4
1  TRUE  TRUE FALSE  2
2  TRUE FALSE  TRUE  5
3 FALSE  TRUE FALSE  4

所以我想要三个子集:

[1]
     V1    V2    V3 V4
1  TRUE  TRUE FALSE  2
2  TRUE FALSE  TRUE  5

[2]
     V1    V2    V3 V4
1  TRUE  TRUE FALSE  2
2 FALSE  TRUE FALSE  4

[3]
     V1    V2    V3 V4
1  TRUE FALSE  TRUE  5

感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

一个简单的lapply循环应该可以解决这个问题:

if(answersList.contains(answer)){
    write.println("Right Answer");
    points++;
    check_point = true;
}else{
   write.println("Wrong Answer");
   check_point = false;
}

答案 1 :(得分:-1)

你的问题非常简单。对于您可以使用的第一个子集:

subset1 <- df[df[ ,1]==T, ]

其中函数取出第一列V1的值为T的行。

当然,如果你想为以后的工作设置一个完整的功能,那么@ thc的解决方案是最好的。但是如果您只需要快速快速地获得3个子集,请尝试以上操作。

我会让你弄清楚如何使用subset2subset3完成剩下的工作。