我在R中有一个数据框,如下所示:
st cd ct bg bg2 pop
1 1 al 5 5.4 99
1 1 al 2 4.2 93
1 1 al 6 3.9 93
1 1 al 8 53. 45
1 1 al 1 5.4 08
如何对其进行子集以便将数据帧拆分为两个数据帧,其中包含除最后一列中重复的值之外的所有值?例如,上述数据框将被子集化为:
st cd ct bg bg2 pop
1 1 al 5 5.4 99
1 1 al 2 4.2 93
1 1 al 8 53. 45
1 1 al 1 5.4 08
和
st cd ct bg bg2 pop
1 1 al 5 5.4 99
1 1 al 6 3.9 93
1 1 al 8 53. 45
1 1 al 1 5.4 08
由于93在最后一列重复两次,弹出,它会被拆分,一行放入一个数据帧,一行放入另一行?有一个简单的方法吗?
感谢您的帮助。
答案 0 :(得分:2)
这个怎么样:
df1 = df[!duplicated(df[["pop"]], fromLast=TRUE), ]
df2 = df[!duplicated(df[["pop"]], fromLast=FALSE), ]
这还依赖于不会多次重复的事实。