r - 如何为行数据框中发现的任何不匹配选择行名和行

标签 r split subset

我在 R 中有一个这样的数据框

df <- data.frame(V1=c("L", "L", "P", "P"), V2=c("M", "M", "M" , "M"), V3=c("X", "X", "X", "X" ), V4=c( "V","V","V","V"))

我想根据按行发现的不匹配项对该数据框进行子集化,并像这样创建两个不同的表

df1 
  V1 V2 V3 V4
1  L  M  X  V
2  L  M  X  V

df2
V1 V2 V3 V4
1 P  M  X  V
2 P  M  X  V

我知道这可以通过 split(df, df$V1) 来完成,但我想知道是否有一种更“自动”的方式,我不必这样做指定不匹配的col 谢谢!

最佳答案

在基础 R 中,您可以使用:

split(df, do.call(paste, df))

$`L M X V`
  V1 V2 V3 V4
1  L  M  X  V
2  L  M  X  V

$`P M X V`
  V1 V2 V3 V4
3  P  M  X  V
4  P  M  X  V

关于r - 如何为行数据框中发现的任何不匹配选择行名和行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68207413/

相关文章:

r - 根据跨列的行值将 data.frame 拆分为列表

javascript - 正则表达式用逗号分隔,除非在字符串或列表 `[]` 内

python - R 和 Python 中 Wilcoxon 测试的区别

python - 当我获取图像名称并用 'IndexError: list index out of range' 分割时遇到此 ',' 错误。

R: geom_histogram(stat ="identity), argument "env"丢失

r - 从数据框中提取具有最高值和最低值的行

r - 计算间歇数字序列中的 block 大小

r - 在 R 中满足条件后过滤组中的后续行

r - 如何使用循环创建字符串向量?

r - 如何在R中对表对象进行子集化?