我的数据框有561列,大约7300行。现在的问题是我无法删除将V1 ... V561作为变量名称的第一个标题行,而是将其切换到包含实际变量名称的下面的行。我尝试了很多技巧,因为我已经在这里经历了一些堆栈帖子,但它们似乎都没有在我的情况下工作。我甚至试过colnames(df) <- lapply(df[1,], as.character
,但它似乎并没有起作用。另外,我可以使用另一个替代方法,name()函数,但我不知道如何将它用于我的目的。
我只想说我有两个数据框,一个包含一列561个单元格,这些单元格将被转换为第二个数据框的变量名,其中V1 ... V561作为变量名。明白了吗?我需要从数据帧1中替换561个单元格的那一列,将它们转换到第二个数据帧的顶部,这样我就可以得到实际的变量名。有人告诉我使用names()函数,但由于我没有真正使用过这个函数,所以我对确切的语法并不清楚。
修改
这是一种更好的方式来描述需要做什么。
所以这是df1,它包含我需要放在df2第一行的单列。
df1
x
These
are
the
variables
df2
x y z x1
0 1 2 3
1 2 3 4
2 3 4 5
必须转变为
df2
These are the variables
0 1 2 3
1 2 3 4
2 3 4 5
答案 0 :(得分:2)
如果df1
是您要重命名的数据,df2
有一行名为row
,其中包含您想要的名称,请尝试
names(df1) <- sapply(df2[row,], as.character)
as.character
因为字符串可能是因素。
刚刚注意到你说名字在一列中,所以如果名字的列是cols
names(df1) <- as.character(df2$cols)