我在 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/