我有两个不同的数据集:一个包含列标题,另一个包含数据。第一个数据集如下所示:
我想将第二列作为下一个数据集的列标题:
请问如何实现?谢谢。
colnames
的列表来获取数据帧或矩阵的列名。您可以使用以下命令来重命名数据帧:
colnames(df) <- *listofnames*
colnames(df2)[1] <- "name"
colnames(df2) <- as.character(df1[,2])
请注意列和标题的长度必须相同。
行的等效方法是rownames()
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
函数,因此最好去掉中间人,并更明确地表明我们正在处理数据框而不是矩阵。同时,打字也更简短。names(data)[3] <- 'Newlabel'
其中,names(data)[3]
是你想要重命名的列。
colnames(df2) <- as.character(df1[[2]])
。 - akrun