如何将源数据框中的列名称分配给目标df

时间:2014-06-11 20:20:06

标签: r

我有一个名为“target”的df,列名为V1:V200。我想用名为“名称源”的df中存储在名为V2的列中的字符串替换这些列名。

我转换了“nameSource”,使用:

> wideNameSource<-as.data.frame(t(nameSource))

在接下来的步骤中,我从“wideNameSource”中删除了V1并创建了一个名为“JustNames”的新df。 (V1是数值列,值为1:200)。这产生了一个带有单个列的df,其中包含我想用作列名的字符串。这些顺序与我想将它们应用到我的“目标”df的顺序相同。

> JustNames<-subset(wideNameSource[2,])

然后我尝试使用以下方法将“JustNames”df中的值绑定到“target”df的顶部:

> targetWithColNames<-rbind(JustNames,target)

但是我得到了一系列警告信息,如下所示:

1: In `[<-.factor`(`*tmp*`, ri, value = c(0.35717, 0.82226,  ... :
  invalid factor level, NA generated

并且targetWithColNames df中的所有(数字)数据显示为NA。

将列名从“nameSource”变为“target”的最简单方法是什么?

1 个答案:

答案 0 :(得分:1)

使用您的两个数据框targetnameSource

colnames(target) <- nameSource$V1