【发布时间】:2013-10-18 12:13:16
【问题描述】:
我正在寻找一种简单的方法来组合两个数据帧,方法是将较小的数据帧插入较大的数据帧,如下所示:
x.1: x.2:
1.1 1.2 2.3 3.4 1.2 2.3
a.b w z d.e u
b.c x a.b v
d.e y
想要的结果:
x.f:
1.1 1.2 2.3 3.4
a.b w v z
公元前x
d.e y u
很多问题只在 cols 之后进行合并,但我想根据 cols 和 行的名称进行合并,但不明白。名称中的点是一个修复方案。如果有人提出建议会很高兴,因为我尝试合并、加入等没有成功。我认为的一种解决方案是手动方式,通过循环遍历较小的框架,每次查找值并保存行/列,然后插入更大的框架。或重组我的数据框。但一定有更简单的方法吗?
提前谢谢, 罗宾
这是快速试用的代码:
i<-c("w", "", "y")
j<-c("", "x", "")
k<-c("","","")
l<-c("z","","")
x.1 <- data.frame(i,j,k,l, row.names=c("a.b","b.c","d.e"))
colnames(x.1)<-c("1.1","1.2","2.3","3.4")
m<-c("u", "")
n<-c("", "v")
x.2 <- data.frame(m,n, row.names=c("d.e","a.b"))
colnames(x.2)<-c("1.2","2.3")
【问题讨论】:
-
如果both
data.frames 的某个行/列组合有值怎么办,或者这是不可能的情况? -
你的意思是,当一个值将被插入到一个已经持有一个值的位置时,如何处理这种情况?好吧,这应该不是场景,但这可能是由于输入数据时出现错误。我必须小心,看看你的解决方案会发生什么。顺便说一句,它正在工作,非常感谢这个和你的替代方案!