3
我想從plyr庫中使用連接,但我的列有不同的名稱。我按國家加入。一個國家和另一個國家(情況不同)。如何在不同名稱的列上使用連接?
命令
foo <- join(ie, geo, by="Country")
給了我這個錯誤:
Error in
[.data.frame
(x, by) : undefined columns selected
我如何修改由參數加入兩個不同的列名?
我想從plyr庫中使用連接,但我的列有不同的名稱。我按國家加入。一個國家和另一個國家(情況不同)。如何在不同名稱的列上使用連接?
命令
foo <- join(ie, geo, by="Country")
給了我這個錯誤:
Error in
[.data.frame
(x, by) : undefined columns selected
我如何修改由參數加入兩個不同的列名?
根據文檔,這似乎不可能。正如在評論中指出的,基函數merge
將用by.x = "Country"
和by.y = "country"
來處理,但合併速度很慢。我認爲最好的選擇是重命名其中一列(如果需要,可以在連接後更改名稱)。
還要考慮使用從dplyr
這比那些plyr
更快的連接功能,例如
> system.time(x<-inner_join(baseball, baseball, by = "id"))
user system elapsed
0.037 0.000 0.037
> system.time(x<-join(baseball, baseball, by = "id"))
user system elapsed
0.943 0.002 0.945
>
隨着基礎R'merge'功能,您可以選擇'by.x'和'by.y'或者重命名你的列並繼續使用'join'。 – stanekam