2013-06-28 54 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)]) 
相关问题