2010-09-15 65 views
3

我收到一条新的错误消息,我无法调试。我有两个数据集X,X2:奇怪的错误合并数据帧

 ID returns.x returns.y 
111111118 0.012852 -0.001436 
1145JXAP4 0.000000 0.025316 
114LYTBB1 -0.090909 0.100000 
114R88BT4 0.000000 0.000000 
114Y4KDH0 -0.055344 -0.094950 
1198CUV40 0.016043 0.005263 

 ID returns 
111111118 -0.043392 
11D7GQAK9 0.000000 
11JS8VT41 -0.036116 
11NJGF6V7 0.000000 
11NSZA7T1 0.113978 
11STQQNH7 0.000000 

给人当merge(x, x2, by = "ID", all = TRUE)我得到一个消息

Error in match.names(clabs, names(xi)) : 
    names do not match previous names 

什么是罪魁祸首?

+0

什么版本的R是这个?在这里工作得很好(2.11.1) – 2010-09-15 17:45:52

+0

哈!好点,甚至没有检查 - 和dito为2.11.0 – 2010-09-15 18:20:07

+0

谢谢,我有同样的问题,并从您的标题我意识到我也使用data.frames而不是矩阵:第一个问题时,与R ! – 2012-08-22 16:56:36

回答

3

我会把它放在不幸和一个错误之间的某处。 IIRC .x.y是默认添加的扩展名。只是使用别的东西就可以了。这应该是等效的:

> A <- data.frame(ID=1:3, rx=rnorm(3), ry=rnorm(3)) 
> B <- data.frame(ID=c(1,3,5), ret=rnorm(3)) 
> merge(A, B, by="ID", all=TRUE) 
    ID  rx  ry  ret 
1 1 0.45260 -0.21953 -0.56536 
2 2 0.35250 -1.35109  NA 
3 3 -0.56535 1.24298 -0.13605 
4 5  NA  NA 0.42105 
>