如何将不断变化的变量名称分配给不断变化的变量名称?
How can I assign changing variable name to a changing variable name?
如何将不断变化的变量名分配给不断变化的变量名?
我见过类似的问题,但它们是关于为更改变量名称赋值的。
我有一个名为 "house1"、“house2”等的变量列表。每个变量都分配了一个值。例如。房子 1 = 1 美元,房子 2 = 50 美元,等等。
我想创建 "building1"、"building2" 等类型的变量,并将每个 "house" 分配给相应的 "building"。所以,我想到底有building1 = 1 dollar, building2 = 50 dollars等等
for(i in 1:15)
{
name_house <- paste("house", i, sep = "")
name_building <- paste("building",i, sep="")
assign(name_house, name_building)
}
我知道有人会建议创建一个包含所有建筑物的变量列表,但是在我之前房屋已经被设置为不同的变量,我被要求以相同的方式进行建造。
如果你以此开头 -
( x <- setNames(paste(1:4, "dollars"), paste0("house", 1:4)) )
# house1 house2 house3 house4
# "1 dollars" "2 dollars" "3 dollars" "4 dollars"
然后您可以使用以下内容创建一个具有不同名称的相同向量
setNames(x, sub("house", "building", names(x), fixed = TRUE))
# building1 building2 building3 building4
# "1 dollars" "2 dollars" "3 dollars" "4 dollars"
我在 data.frame
中取了 houses
及其对应的值。看看,如果这对你有用,
houses <- c("house1", "house2", "house3", "house4", "house5")
name_house <- c(1, 2, 3, 4, 5)
df <- data.frame(houses, name_house)
> df
#houses name_house
#1 house1 1
#2 house2 2
#3 house3 3
#4 house4 4
#5 house5 5
然后将 house
的值替换为 buildings
df$houses <- gsub("house", "building", df$houses)
> df
# houses name_house
#1 building1 1
#2 building2 2
#3 building3 3
#4 building4 4
#5 building5 5
如何将不断变化的变量名分配给不断变化的变量名? 我见过类似的问题,但它们是关于为更改变量名称赋值的。 我有一个名为 "house1"、“house2”等的变量列表。每个变量都分配了一个值。例如。房子 1 = 1 美元,房子 2 = 50 美元,等等。 我想创建 "building1"、"building2" 等类型的变量,并将每个 "house" 分配给相应的 "building"。所以,我想到底有building1 = 1 dollar, building2 = 50 dollars等等
for(i in 1:15)
{
name_house <- paste("house", i, sep = "")
name_building <- paste("building",i, sep="")
assign(name_house, name_building)
}
我知道有人会建议创建一个包含所有建筑物的变量列表,但是在我之前房屋已经被设置为不同的变量,我被要求以相同的方式进行建造。
如果你以此开头 -
( x <- setNames(paste(1:4, "dollars"), paste0("house", 1:4)) )
# house1 house2 house3 house4
# "1 dollars" "2 dollars" "3 dollars" "4 dollars"
然后您可以使用以下内容创建一个具有不同名称的相同向量
setNames(x, sub("house", "building", names(x), fixed = TRUE))
# building1 building2 building3 building4
# "1 dollars" "2 dollars" "3 dollars" "4 dollars"
我在 data.frame
中取了 houses
及其对应的值。看看,如果这对你有用,
houses <- c("house1", "house2", "house3", "house4", "house5")
name_house <- c(1, 2, 3, 4, 5)
df <- data.frame(houses, name_house)
> df
#houses name_house
#1 house1 1
#2 house2 2
#3 house3 3
#4 house4 4
#5 house5 5
然后将 house
的值替换为 buildings
df$houses <- gsub("house", "building", df$houses)
> df
# houses name_house
#1 building1 1
#2 building2 2
#3 building3 3
#4 building4 4
#5 building5 5