R中的合并命令
Posted
技术标签:
【中文标题】R中的合并命令【英文标题】:Merge Command in R 【发布时间】:2011-03-31 17:53:44 【问题描述】:我一直在玩 R 中的合并命令,并试图弄清楚如何使用 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,但我希望在这些变量上使用更多有用的标签。对此的任何帮助将不胜感激。谢谢。
【问题讨论】:
【参考方案1】:我猜你没有在merge
中明确指定by
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
【讨论】:
【参考方案2】:我认为这应该可行:
merged.df <- merge(data1, data2, by='NAME', suffixes=c('.fileA', '.fileB'))
【讨论】:
以上是关于R中的合并命令的主要内容,如果未能解决你的问题,请参考以下文章