【发布时间】:2016-03-23 22:34:48
【问题描述】:
我花了很多时间环顾四周,但找不到解决我的具体问题的方法。非常感谢任何帮助。
我有一个 csv 文件列表,这些文件都有一个包含物种名称的列(在下面的示例中标题为“行”)。每个 csv 文件还具有一系列样本,其中一些在所有 csv 文件中是唯一的,其中一些存在于许多 csv 文件中。我正在寻找一种将所有这些 csv 文件合并到“Row”变量上的方法,同时也将出现在多个 csv 文件中的任何样本相加。
举个例子:
dfrm_1 <- data.frame(a = c("species1", "species2", "species3", "species9"), b= c(100,5,24,100), c=c(52,151,15,100))
dfrm_2 <- data.frame(a = c("species2", "species4", "species6", "species9"), b= c(4,2,500,100), c=c(67,98,153,100))
names(dfrm_1) <- c("Row", "S1", "S2")
names(dfrm_2) <- c("Row", "S2", "S4")
mDF <- merge(dfrm_1, dfrm_2, by="Row", all=TRUE)
当两个数据帧合并时,样本 2(S2,存在于两个数据帧中)变为 S2.x 和 S2.y。而不是添加字母后缀的合并函数,我只想对两列求和。
想要的输出是:
df_merge <- data.frame(a=c("species1", "species2", "species3", "species9", "species4", "species6"), b=c(100,5,24,100,0,0), c=c(52,155,15,200,2,500), d=c(0,67,0,100,98,153))
names(df_merge) <- c("Row", "S1", "S2", "S4")
注意:已编辑以扩展示例并包含所需的输出
【问题讨论】:
标签: r