我有一个包含8列和10,000行的数据框。我想为" 1"的所有组合随机抽样3行。和" 2"值为TRUE
的列(例如2a和2a)
我最初的尝试是这样的:
df[sample(nrow(df[df$1a == TRUE & df$2a == TRUE,]), 3), ]
给出了输出。
1a 1b 1c 1d 2a 2b 2c 2d
1136 FALSE FALSE FALSE TRUE FALSE TRUE FALSE FALSE
1021 TRUE FALSE FALSE FALSE FALSE FALSE TRUE FALSE
589 FALSE TRUE FALSE FALSE FALSE TRUE FALSE FALSE
选择1a和2a为FALSE的行。我究竟做错了什么?非常感谢你。
答案 0 :(得分:2)
这段代码
df[df$1a == TRUE & df$2a == TRUE,]
应返回0行,因为没有这种情况。
如果您的数据框超过这10行,请尝试使用TRUE作为字符:
df[sample(nrow(df[df$1a == "TRUE" & df$2a == "TRUE",]), 3), ]