我有一个数据框
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和V3df[1:3] = NULL
但我怀疑有更优雅(也许是更好的练习)的解决方案。有什么建议吗?
答案 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)]
希望它有所帮助! :)