有没有办法更改变量赋值名称

时间:2014-10-29 00:53:26

标签: r

使用R.有没有办法可以给R任何文本字符串,它会像公式一样对待它?

一个例子说明了一切。

a <- 1
b <- 2
c <- 3
d <- 4

如果我必须一直这样做直到z?

在R中我们可以写:

letters[1]

这给了我们一个“a”

那么这样的事情: (它不起作用,但我想做这样的事情)

for (i in 1:4) {    
  letters[i] <- i
}

as.formula函数,但这只适用于像a ~ b + c这样的公式。

感谢。

1 个答案:

答案 0 :(得分:2)

如果您想评估文字:

eval(parse(text="a<-1"))

但是如果你想初始化很多变量,你可以使用list2env创建一个命名列表并将其转换为一个单独的变量(将每个组件附加到全局环境),但我强烈推荐您将变量保存在同一列表中

 xx <- letters[1:5]
 list2env(setNames(seq_along(xx), xx), .GlobalEnv)