R一次将多个变量分配给多个值?

时间:2018-05-08 14:27:44

标签: r variables

我想将100个变量分配给100个值。 我怎么能这样做?

例如,如果我希望x1, x2, x3, .... x100一次分配100个值(比如x1 = 5, x2 = "c143", x3 = 0, ....

这样做的方法是什么?请指教,这里没有找到办法/博士。 G。 我尝试过lapply / sapply / for循环,但也许有更简单的直接方式?

2 个答案:

答案 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