【发布时间】:2014-04-20 14:21:10
【问题描述】:
样本数据
x <- data.frame(id=c(1,1,1,2,2,7,7,7,7),dna=c(232,424,5345,45345,45,345,4543,345345,4545))
y <- data.frame(id=c(1,1,1,2,2,7,7,7,7),year=c(2001,2002,2003,2005,2006,2000,2001,2002,2003))
合并没有给出好的解决方案merge(x,y,by="id"),它给出了重复。
现在对于上面的示例数据,简单的 cbind 工作 cbind(x,y) 这就是我所追求的,只需将 year 与相应的 id 配对。
当两个 data.frames 不匹配时就会出现问题!这样包含变量year 的data.frame 会更短。像这样的:
x <- data.frame(id=c(1,1,1,2,2,7,7,7,7),dna=c(232,424,5345,45345,45,345,4543,345345,4545))
y <- data.frame(id=c(1,1,1,2,2,7,7,7),year=c(2001,2002,2003,2005,2006,2000,2001,2002))
所以我需要对两个 data.frames 进行配对,并且 data.frame x 的相应不匹配行可能是 NA,以便我删除该行。
较短样本数据的期望输出:
id year dna
1 1 2001 232
2 1 2002 424
3 1 2003 5345
4 2 2005 45345
5 2 2006 45
6 7 2000 345
7 7 2001 4543
8 7 2002 345345
【问题讨论】:
标签: r