首页 > 解决方案 > R Data.Table 重命名许多变量

问题描述

data=data.frame(cat=runif(100), dog = runif(100), fox = runif(100), bunny = runif(100))

我只想重命名为 cat = var01、dog = var04、fox = var07、bunny = var09。

标签: rdata.table

解决方案


我们可以在命名向量上使用并使用 ( )rename进行评估!!!

library(dplyr)
nm1 <- c('cat', 'dog', 'fox', 'bunny')
nm2 <- c('var01', 'var04', 'var07', 'var09')

或创建它seq

nm2 <- sprintf('var%02d',  seq(1, length.out = length(nm1), by = 3))

data <- rename(data, !!! setNames(nm1, nm2))

或使用setnamesfromdata.table通过提供“旧”、“新”名称的向量来更改列名

library(data.table)
setDT(data)
setnames(data, nm1, nm2)

names(data)
#[1] "var01" "var04" "var07" "var09"

推荐阅读