2013-06-28 62 views
2

我有兩個數據幀:一(數據幀A)是像如下:替換中的R另一個文件具有不同的(新)名稱的數據幀的列的「名稱」

S.No A1  A2 A3 A4  A6 
    1  0  0  0 0  0 
    2  2  4  7 7  9 
    3  6  7  9 10  0 

等。

另一個(數據幀B)文件是這樣如下:

A的
S.No old_names  new_names 
    1  A1    qq 
    2  A2    ww 
    3  A3    gg 
    4  A4    zz 
    5  A6    mm 

名稱不必在相同的序列,B $ old_names的。

我的新文件應該是這樣:

S.No qq  ww gg zz  mm 
    1  0  0  0 0  0 
    2  2  4  7 7  9 
    3  6  7  9 10  0 

有沒有什麼簡單的方法來做到這一點R中不使用for循環和比較兩個文件?

任何幫助將不勝感激。 這兩個文件都太大。

+1

'names(dataframe1)< - dataframe2 $ new_names'? – Hugh

+0

@Hugh謝謝。問題在於dataframe1的名稱不必與dataframe2的順序相同。在這種情況下這將失敗。 –

回答

4
n <- names(df1)[-1] # get rid of S.No 

names(df1) <- c("S.No", as.character(df2$new_names)[match(n, df2$old_names)]) 
相關問題