在R中将字符串转换为变量名

时间:2016-01-20 14:16:29

标签: r string variables type-conversion

我花了几个小时寻找合适的解决方案,但我在网上找不到任何东西。有我的问题。在R中,我有一个特定的字符列表,其中包含我想要的变量名称(" 2011_Q4"," 2012_Q1",...)。当我尝试使用循环为每个名称分配数据集时,它确实有效,但输出却很奇怪。的确,我有

> View(`2011_Q4`)

而不是

> View(2011_Q4)

而且我不知道如何删除这个撇号。这非常烦人,因为我必须输入这个`才能调用变量。

有人可以帮助我吗?我很感激他的帮助。

非常感谢和最诚挚的问候

1 个答案:

答案 0 :(得分:5)

首先,它是一个反引号(`),而不是撇号(')。在R中,反引号偶尔表示变量名称;撇号用作表示字符串的单引号。

你遇到的问题是你的变量以一个数字开头,这在R中是不允许的。既然你以某种方式让它发生了,你需要使用反引号告诉R不要将2011_Q4解释为一个数字,但作为变量。

来自?Quotes

  

名称和标识符

     

标识符包含一系列字母,数字,句点(。)   和下划线。它们不能以数字或下划线开头,   也没有一个句号后跟一个数字。保留字无效   标识符

     

字母的定义取决于当前的区域设置,但仅限于   ASCII数字被认为是数字。

     

这种标识符也称为句法名称,可以使用   直接在R代码中。几乎总是,可以使用其他名称   他们被引用了。首选引号是反引号(`)和deparse   通常会使用它,但在许多情况下单或双   可以使用引号(因为字符常量通常会转换为   一个名字)。反引号可能必不可少的一个地方是划界   公式中的变量名称:参见公式。

解决问题的最佳方法是将变量名称更改为以字符开头的内容,例如: Y2011_Q4