合并数据帧的奇怪错误

时间:2010-09-15 17:04:10

标签: r

我收到一条新的错误消息,我无法调试。我有两个数据集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

罪魁祸首是什么?

1 个答案:

答案 0 :(得分:3)

我把它放在不幸和bug之间。 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
>