使用 R 中的 dplyr 重命名具有系列索引的多个列
Rename multiple columns with series index using dplyr in R
我的数据框是这样的
X0 <- c(11,2,3,4)
X1 <- c(10,2,3,4)
X2 <- c(8,2,3,4)
X3 <- c(4,6,3,4)
test <- data.frame(X0,X1,X2,X3)
X0 X1 X2 X3
1 11 10 8 4
2 2 2 2 6
3 3 3 3 3
4 4 4 4 4
我想使用字符“t”和 1:3 中的系列重命名前三列。
我希望我的数据框看起来像这样
t0 t1 t2 X3
1 11 10 8 4
2 2 2 2 6
3 3 3 3 3
4 4 4 4 4
编辑
它是这样工作的
test %>%
rename_at(vars(X0:X2), list(~paste0("t", 0:2)))
这是一个 data.table
选项 setnames
setnames(setDT(test),1:3,function(v) gsub("X","t",v))
或使用rename_with
library(dplyr)
library(stringr)
test %>%
rename_with(~ str_c('t', 0:2), X0:X2)
我的数据框是这样的
X0 <- c(11,2,3,4)
X1 <- c(10,2,3,4)
X2 <- c(8,2,3,4)
X3 <- c(4,6,3,4)
test <- data.frame(X0,X1,X2,X3)
X0 X1 X2 X3
1 11 10 8 4
2 2 2 2 6
3 3 3 3 3
4 4 4 4 4
我想使用字符“t”和 1:3 中的系列重命名前三列。 我希望我的数据框看起来像这样
t0 t1 t2 X3
1 11 10 8 4
2 2 2 2 6
3 3 3 3 3
4 4 4 4 4
编辑 它是这样工作的
test %>%
rename_at(vars(X0:X2), list(~paste0("t", 0:2)))
这是一个 data.table
选项 setnames
setnames(setDT(test),1:3,function(v) gsub("X","t",v))
或使用rename_with
library(dplyr)
library(stringr)
test %>%
rename_with(~ str_c('t', 0:2), X0:X2)