如何在R中重命名列标题

3
我有两个不同的数据集:一个包含列标题,另一个包含数据。第一个数据集如下所示: columnheader dataset 我想将第二列作为下一个数据集的列标题: dateset 请问如何实现?谢谢。

1
你可以使用 colnames(df2) <- as.character(df1[[2]]) - akrun
欢迎来到 Stack Overflow!您是否看过我们的最佳实践指南 - akraf
3个回答

5
通常,您可以使用名为colnames的列表来获取数据帧或矩阵的列名。您可以使用以下命令来重命名数据帧:

colnames(df) <- *listofnames*

同样,您也可以只重命名一个名称,使用 [] 括号。这将重命名第一列:

colnames(df2)[1] <- "name"


针对您的示例,我们将采取您的列值。请尝试以下内容:
colnames(df2) <- as.character(df1[,2])

请注意列和标题的长度必须相同。


行的等效方法是rownames()


1
使用可重复代码的dplyr方法:
library(dplyr)
df <- tibble(x = 1:5, y = 11:15)
df_n <- tibble(x = 1:2, y = c("col1", "col2"))
names(df) <- df_n %>% select(y) %>% pull()

我认为 select() %>% pull() 语法比列表索引更容易记忆。此外,我使用 names 而不是 colnames 函数。在处理数据框时,colnames 只是调用了 names 函数,因此最好去掉中间人,并更明确地表明我们正在处理数据框而不是矩阵。同时,打字也更简短。

0
你可以简单地这样做: names(data)[3] <- 'Newlabel' 其中,names(data)[3] 是你想要重命名的列。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接