我有兩個數據幀合併/與來自另一數據幀colmn值替換行名稱
>cat a1.txt "501" 5.7916 6.9861 "502" 24.9444 18.45 "503" 4 4.7222 5.5 "505" 5 5.2777 5.3 >cat a2.txt 501 "alex" 502 "brian" 503 "romeo" 504 "tango" 505 "zee"
我希望能夠從a2.txt替換a1.txt第一列中,用相應的值(查找)
我想要的東西,喜歡 -
alex 5.7916 6.9861 brian 24.9444 18.45 romeo 4 4.7222 5.5 zee 5 5.2777 5.3
我tried-
a1t <- read.table('a1.txt')
a2t <- read.table('a2.txt')
a1t
V1 V2 V3
1 501 5.7916 6.9861
2 502 24.9444 18.4500
3 503 4.0000 4.7222
4 505 5.0000 5.2777
> a2t
V1 V2
1 501 alex
2 502 brian
3 503 romeo
4 504 tango
5 505 zee
> merge(x=a1t, y=a2t,by='V1', all.x=TRUE)
V1 V2.x V3 V2.y
1 501 5.7916 6.9861 alex
2 502 24.9444 18.4500 brian
3 503 4.0000 4.7222 romeo
4 505 5.0000 5.2777 zee
但這並不代替第1列。它增加了一個額外的列。 我怎樣才能得到上述所需的格式?
如果我的a1.txt不平衡怎麼辦?即所有行中的列數不一致?
您可以使用'match'或將其轉換爲'factor'並替換'levels'。 – user1436187
作爲參考:這是一個[有很多方法可以在R中執行此操作的問題](http://stackoverflow.com/questions/1299871/how-to-join-data-frames-in-r-inner-outer-左右)。這些包括以下函數/包:'merge(),plyr,data.table,sqldf' – marbel