【发布时间】:2020-12-22 14:19:37
【问题描述】:
我对 R 很陌生。我正在尝试根据另一个数据框重命名数据框的列。
基本上我的数据看起来像
数据帧1
A B C D
1 2 3 4
我有另一个看起来像这样的表' 数据帧2
Col1 Col2
A E
B Q
C R
D Z
我想根据这个表重命名我的第一个数据框的列,这样它就会出来:
E Q R Z
1 2 3 4
我正在尝试使用 plyr 库进行循环。这是我试过的命令:
library(plyr)
for (i in names(DataFrame1[,3:336])) #renaming columns 3 to 336
{
rename(DataFrame1,
replace = c(i = DataFrame2[DataFrame2$Col1 == i, 2]))
}
我的想法是对于 DataFrame1 中的每一列,使用 DataFrame2 中的列的查找来重命名该列。
这会产生 N 行错误“x:i 中不存在以下from 值”,其中 n 是 DataFrame1 中存在的行数
感谢您提供的任何帮助!
【问题讨论】:
-
为了将来参考,您最好以可重现的方式分享您的示例数据,例如编写代码来创建它或使用
dput
标签: r