合并两个数据帧,但同时存在两个数据帧

Ahd*_*dee 2 r plyr reshape2 dplyr

说我有两个data.frames,

df = data.frame(gene = c("KRAS", "FOS"), A6 = c(20, 50), A7 = c(90, 80))
df2 = data.frame(gene = c("KRAS", "FOS"), A6 = c(20, 250) )
Run Code Online (Sandbox Code Playgroud)

这里A6重复,当我试图合并这两个dataframes,使用merge(df, df2, by = "gene")),并将其与创建新列A6.xA6.y.

有没有办法让它合并,而不是采取重复的列的平均值?谢谢!

akr*_*run 8

通过数字列名称(子字符串)merge输入split数据后得到rowMeans

cbind(out[1], sapply(split.default(out[-1], 
          sub("\\..*", "", names(out)[-1])), rowMeans))
#  gene  A6 A7
#1  FOS 150 80
#2 KRAS  20 90
Run Code Online (Sandbox Code Playgroud)

数据

out <- merge (df, df2, by="gene")
Run Code Online (Sandbox Code Playgroud)