一个包含静态名称+变量名称的变量名称

时间:2018-11-11 16:19:58

标签: r

我想要一个像这样的变量

testNewYork <- "EEUU"

但是我想将“ test”部分保持静态,然后将“ NewYork”部分作为变量。例如类似

test+(city) <- "EEUU"

因此,我可以进行一个循环,其中城市可以是NewYork,但也可以是其他城市

2 个答案:

答案 0 :(得分:3)

不要这样做。使用listenvironment

test <- list()
test$NewYork <-  "ABCD"
test$SanFrancisco <-  "EFGH"
test$Houston <- "IJKL"

str(test)
## List of 3
##  $ NewYork     : chr "ABCD"
##  $ SanFrancisco: chr "EFGH"
##  $ Houston     : chr "IJKL"

test$NewYork
## [1] "ABCD"

test[["NewYork"]]
## [1] "ABCD"

test$Portland <- "MNOP"

str(test)
## List of 4
##  $ NewYork     : chr "ABCD"
##  $ SanFrancisco: chr "EFGH"
##  $ Houston     : chr "IJKL"
##  $ Portland    : chr "MNOP"

答案 1 :(得分:1)

您需要assign。您可以将其放入一个循环并在每个循环中更改city-

city <- "NewYork"
assign(paste0("test", city), "EEUU")
相关问题