我一直在使用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,但我希望在这些变量上有更多有用的标签。任何有关这方面的帮助将不胜感激。谢谢。
答案 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'))