拆分数据框并保留共享列

时间:2018-05-11 18:40:42

标签: r dataframe dplyr

我有一个数据框

df = data.frame(V1 = 1, V2 = 2, V3 = 3, V4 = 4, V5 = 5, respondent_ID = "ID1", respondent_attribute = "Attribute1")

并希望将其拆分为两个数据框,其中一个将包含列V1,V2,V3,respondent_ID和respondent_attribute,另一个将包含V4,V5,respondent_ID和respondent_attribute。

我可以使用

相对容易地完成
newdf <- subset(df, select = c(1:3, 6:7))

然后从df

手动删除列V1,V2和V3
df[1:3] = NULL

但我怀疑有更优雅(也许是更好的练习)的解决方案。有什么建议吗?

1 个答案:

答案 0 :(得分:1)

如果您执行以下操作,则可以更好地控制:

df = data.frame(V1 = 1, V2 = 2, V3 = 3, V4 = 4, V5 = 5, respondent_ID = "ID1", respondent_attribute = "Attribute1")

# Alternative 1
newdf1 <- df[,c("V1", "V2", "V3", "respondent_ID", "respondent_attribute")]
newdf2 <- df[,c("V4", "V5", "respondent_ID", "respondent_attribute")]

# Alternative 2
newdf1 <- df[,c(1:3, 6:7)]
newdf2 <- df[,c(4:5, 6:7)]

希望它有所帮助! :)