我尝试使用数据的第一行重命名列名。
将 %>% 与 colnames()<- 等替换函数一起使用
我反驳的问题是在不破坏列的情况下执行此过程,dplyr pipeline因为我想在重命名列后继续做一些其他的事情。
这篇文章中有关于rename函数 dplyr::rename 的评论,如果您只是(重新)命名许多列中的一些(它需要同时编写旧名称和新名称;请参阅@Richard Scriven 的答案)
但是,在我的真实数据中,列数不是固定的,因此我需要使用类似的方法来选择列 select(X9:max(ncol(.)))
df <- data.frame(replicate(10,sample(100,2,rep=TRUE)))
X1 X2 X3 X4 X5 X6 X7 X8 X9 X10
1 77 40 45 98 75 17 5 33 53 94
2 43 67 82 42 63 90 14 65 4 98
library(dplyr)
df1 <- df %>%
select(X8,X9,X10)%>%
....
Run Code Online (Sandbox Code Playgroud)
选择和重命名列后的预期输出
33 53 94
1 65 4 98
Run Code Online (Sandbox Code Playgroud)
set.seed(502)
df <- data.frame(replicate(10, sample(100, 2, rep=TRUE)))
> df
X1 X2 X3 X4 X5 X6 X7 X8 X9 X10
1 79 6 82 23 36 58 95 30 60 42
2 89 77 9 13 79 97 1 10 48 66
Run Code Online (Sandbox Code Playgroud)
在基础 R 中我们可以做
df1 <- "colnames<-"(df[2 , x <- paste0("X", 8:10)], df[1, x])
> df1
30 60 42
2 10 48 66
Run Code Online (Sandbox Code Playgroud)