在我的数据框中,我有很多逻辑变量,我想将数据帧拆分成多个子集,条件是每个逻辑变量为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
感谢您的帮助!
答案 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个子集,请尝试以上操作。
我会让你弄清楚如何使用subset2
和subset3
完成剩下的工作。