2016-01-11 49 views
-4

我試圖將一個數據幀添加爲另一個數據幀的行。列名不匹配,所以我有一個匹配它們的查找表。我以爲我可以在循環中一次一列地完成每一列,但是我一直收到replacement has 209 rows, data has 157錯誤。將數據幀附加到具有不同列名的另一個數據幀

我該如何一次添加它們?這裏是什麼,我試圖做一個例子:

我有兩個數據集

test1 = c("one", "two", "three", "four", "five") 
test2 = c("1", "3", "4", "5") 

和查找表來匹配列名

first second 
1 one  1 
2 three  3 
3 four  4 
4 five  5 

所以我喜歡將所有行從「1」添加到「一」,「3」到「三」等。我嘗試了幾個不同的事情,並得到錯誤的行數或事實,我沒有替換每個值,就像在我的例子中,我忽略了列「two」。

任何人都可以推薦如何做到這一點?

+0

你能展示你的預期產出嗎?你爲什麼要調用矢量數據集? – Heroka

回答

1

是否有任何理由反對將兩組名稱設置爲相同?

rbind在這種情況下可以正常工作,您可以使用類似names(test2) <- lookup_table$first這樣的名稱來匹配。

+0

這是一個好主意,我不反對。我怎麼做呢? '我在nrows(lookup){colnames(test1)[lookup [i,1]]}中''不起作用,因爲'colnames(test1)[lookup [1,1]]''返回'NA' – jamzsabb

+0

I應該澄清,我不使用你建議的原因是列的順序不匹配在我的數據庫中,我需要查找什麼名稱映射到什麼 – jamzsabb

+0

'rbind.fill()'部分解決這對我來說,但我仍然無法弄清楚如何從查找表中更改變量名稱 – jamzsabb

相關問題