繁体   English   中英

如何在R中的不同数据框中添加具有相同名称的列

[英]How to add columns with same name in different data frames in R

我有两个具有不同列的数据框。 DataFrame1有8列,DataFrame2有6列。 所有DataFrame2列名称都在DataFrame1中。 如何在两个DataFrame中添加具有相同名称的列,然后将其余的列保留在新的DataFrame中。 我是R的新手,所以任何帮助都会很大。

我们使用intersect ('nm1')获得通用的列名称,基于该通用列将两个数据集子集化,添加它,用添加的值( df1[nm1] <- .. )替换第一个列。 我们还用上一步的结果替换了'df2'公共列,并从非公共列的两个数据集中创建了一个新的data.frame。

 nm1 <- intersect(colnames(df1), colnames(df2))
 df1[nm1] <- df1[nm1]+df2[nm1]
 df2[nm1] <- df1[nm1]

 df3 <- cbind(df1[setdiff(colnames(df1), nm1)], df2[setdiff(colnames(df2), nm1)]) 

我知道不推荐使用“仅代码”答案,但这确实引起了人们的关注:

new_colname <- "newcol"
df1[[ new_colname ]] <- values
df2[[ new_colname ]] <- values

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM