【发布时间】:2016-11-04 09:39:08
【问题描述】:
这应该很容易,但我想不通。
我有一个包含 N 列的数据表和一个包含两列的查找表:New.Name 和 Number。我想用在查找表中找到的按数字匹配的 New.Name 重命名数据表中的列。并非所有列名都会在查找表中具有 New.Name。数据表中的数字存储为列属性。所以我需要将数据表中的列属性与查找表中Number列中找到的值进行匹配。
例子:
df <- as.data.frame(matrix(sample(1:20), ncol = 5))
colnames(df) <- c('abc', 'def', 'ghi', 'jkl', 'mno')
for (i in 1:5) attr(df[,i], 'Number') <- i
lookup <- data.frame(Number=c(2,3),New.Name=c('x','y'))
按照上面的示例,将列 def 和列 ghi 重命名为 x 和 y 的最佳方法是什么?
【问题讨论】: