使用对象重命名 R 中的变量
Using an object to rename a variable in R
在我的一个函数中,我需要更改数据集中变量的名称。我创建了那个新变量名并将其保存在一个名为 name
的对象中。当我使用对象 name
重命名变量时,R 将变量的名称命名为“name”,而不是对象 name
的内容。我怎样才能让它使用对象 name
而不是单词“name”?
new_name <- paste("New","Name")
#tidyverse approach
library(dplyr)
state_df <- as.data.frame(state.x77)
new_data <- state_df %>%
rename(name=Population)
head(new_data)
基础 R 方法
colnames(new_data)[colnames(new_data)=="Population"] <- name
head(new_data)
您可以使用{{new_name}}
new_name <- paste("New","Name")
as.data.frame(state.x77) %>%
rename({{new_name}}:=Population) %>%
head()
New Name Income Illiteracy Life Exp Murder HS Grad Frost Area
Alabama 3615 3624 2.1 69.05 15.1 41.3 20 50708
Alaska 365 6315 1.5 69.31 11.3 66.7 152 566432
Arizona 2212 4530 1.8 70.55 7.8 58.1 15 113417
Arkansas 2110 3378 1.9 70.66 10.1 39.9 65 51945
California 21198 5114 1.1 71.71 10.3 62.6 20 156361
Colorado 2541 4884 0.7 72.06 6.8 63.9 166 103766
或者,您可以这样做
state = as.data.frame(state.x77)
colnames(state)[which(colnames(state)=="Population")] <- new_name
head(state)
New Name Income Illiteracy Life Exp Murder HS Grad Frost Area
Alabama 3615 3624 2.1 69.05 15.1 41.3 20 50708
Alaska 365 6315 1.5 69.31 11.3 66.7 152 566432
Arizona 2212 4530 1.8 70.55 7.8 58.1 15 113417
Arkansas 2110 3378 1.9 70.66 10.1 39.9 65 51945
California 21198 5114 1.1 71.71 10.3 62.6 20 156361
Colorado 2541 4884 0.7 72.06 6.8 63.9 166 103766
在我的一个函数中,我需要更改数据集中变量的名称。我创建了那个新变量名并将其保存在一个名为 name
的对象中。当我使用对象 name
重命名变量时,R 将变量的名称命名为“name”,而不是对象 name
的内容。我怎样才能让它使用对象 name
而不是单词“name”?
new_name <- paste("New","Name")
#tidyverse approach
library(dplyr)
state_df <- as.data.frame(state.x77)
new_data <- state_df %>%
rename(name=Population)
head(new_data)
基础 R 方法
colnames(new_data)[colnames(new_data)=="Population"] <- name
head(new_data)
您可以使用{{new_name}}
new_name <- paste("New","Name")
as.data.frame(state.x77) %>%
rename({{new_name}}:=Population) %>%
head()
New Name Income Illiteracy Life Exp Murder HS Grad Frost Area
Alabama 3615 3624 2.1 69.05 15.1 41.3 20 50708
Alaska 365 6315 1.5 69.31 11.3 66.7 152 566432
Arizona 2212 4530 1.8 70.55 7.8 58.1 15 113417
Arkansas 2110 3378 1.9 70.66 10.1 39.9 65 51945
California 21198 5114 1.1 71.71 10.3 62.6 20 156361
Colorado 2541 4884 0.7 72.06 6.8 63.9 166 103766
或者,您可以这样做
state = as.data.frame(state.x77)
colnames(state)[which(colnames(state)=="Population")] <- new_name
head(state)
New Name Income Illiteracy Life Exp Murder HS Grad Frost Area
Alabama 3615 3624 2.1 69.05 15.1 41.3 20 50708
Alaska 365 6315 1.5 69.31 11.3 66.7 152 566432
Arizona 2212 4530 1.8 70.55 7.8 58.1 15 113417
Arkansas 2110 3378 1.9 70.66 10.1 39.9 65 51945
California 21198 5114 1.1 71.71 10.3 62.6 20 156361
Colorado 2541 4884 0.7 72.06 6.8 63.9 166 103766