我想将100个变量分配给100个值。 我怎么能这样做?
例如,如果我希望x1, x2, x3, .... x100
一次分配100个值(比如x1 = 5, x2 = "c143", x3 = 0, ....
)
这样做的方法是什么?请指教,这里没有找到办法/博士。 G。 我尝试过lapply / sapply / for循环,但也许有更简单的直接方式?
答案 0 :(得分:2)
您可以使用setNames
,即
setNames(c('A', 'B', 'C'), paste0('x', seq(3)))
# x1 x2 x3
#"A" "B" "C"
答案 1 :(得分:1)
这实际上取决于你想要达到的目标。如果对于存储为字符串的变量有100个不同的名称,并且存储在数字向量中的数值,则可以执行以下操作:
# vector with names for variables
vars <- c("x1","x2","x3")
# vector with values for variables
vals <- c( 1,2,3)
#check variable list
ls()
# [1] "vals" "vars"
# assign values to variables
for (i in seq(vars)) assign(vars[i],vals[i])
# check variable list
ls()
# [1] "i" "vals" "vars" "x1" "x2" "x3"
正如评论中所建议的,还有一些其他方法(同样取决于您希望如何使用变量名称): Assign multiple new variables on LHS in a single line in R