R中的合并命令

时间:2010-08-18 18:53:38

标签: r csv merge

我一直在使用R中的merge命令,并试图弄清楚如何使用SUFFIX参数。在线文档在解释它时做得不是很好。

我想要做的是导入一些csv文件:

data1<-read.csv("fileA", header=T)
data2<-read.csv("fileB", header=T)

然后使用merge命令合并它们。但是,我希望某些变量能够真正合并,而其他具有相同名称的变量则由它们来自的文件标记。因此,例如,如果我的两个电子表格中都存在“NAME”变量,那么我希望它们正常合并,但如果出现“GRADE”变量,则会更改为GRADE.fileA和GRADE .fileB。我已经能够获得GRADE.x和GRADE.y,但我希望在这些变量上有更多有用的标签。任何有关这方面的帮助将不胜感激。谢谢。

2 个答案:

答案 0 :(得分:3)

我猜你没有在by中明确指定merge arg。你想要这样的东西吗?

> NAME <- sample(letters,10)
> data1 <- data.frame(NAME,grade=sample(letters[1:4],10,TRUE))
> data2 <- data.frame(NAME,grade=sample(letters[1:4],10,TRUE))
> merged <- merge(data1,data2,by="NAME",suffixes=c(".fileA",".fileB"))
> merged
   NAME grade.fileA grade.fileB
1     d           a           c
2     e           d           d
3     f           b           a
4     j           c           c
5     l           b           a
6     o           a           c
7     p           d           d
8     q           d           a
9     t           a           b
10    x           d           c

答案 1 :(得分:2)

我认为这应该有效:

merged.df <- merge(data1, data2, by='NAME', suffixes=c('.fileA', '.fileB'))