Странная ошибка слияния фреймов данных - PullRequest
3 голосов
/ 15 сентября 2010

Я получаю новое сообщение об ошибке, которое я не могу отладить. У меня есть два набора данных х, х2:

        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 Ответ

3 голосов
/ 15 сентября 2010

Я бы поставил его где-то между невезучим и ошибкой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
> 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...