R

时间:2015-08-06 18:24:05

标签: r names

R认为有效的名称属性字符串在我的案例的列表中使用的规则是什么,但规则应该适用于任何R可以为我设想的名称。阅读R语言定义中的部分2 Objects; 2.2 Attributes, 2.2.1 Names我没有看到提到的任何实际限制。

我正在修改一些将在Python中构建到Pandas数据框中的列表,并且我想在R中定义最终将在csv和html报告中结束的格式化列标题。我已经尝试了以下这个复杂的名称将会出现在我们的报告中,因此我知道它可以用于我的用例,但提前知道我能够和不能定义为什么是有价值的。一个名字。

>  v = list(c=0, 'd cef'=0, 'Conc[K/L]'=0.123, '%LVR'=0.98)
> str(v)
List of 4
 $ c        : num 0
 $ d cef    : num 0
 $ Conc[K/L]: num 0.123
 $ %LVR     : num 0.98
> v$'%LVR' = 0.5
> v$'Conc[K/L]' = 0.5
> str(v)
List of 4
 $ c        : num 0
 $ d cef    : num 0
 $ Conc[K/L]: num 0.5
 $ %LVR     : num 0.5

通过实验看似安全,并且进一步进入语言定义我唯一能找到的真正限制是以下

  

10.3.3 Reserved words   以下标识符具有特殊含义,无法使用   对象名称

if else repeat while function for in next break TRUE FALSE NULL Inf
NaN NA NA_integer_ NA_real_ NA_complex_ NA_character_ ... ..1 ..2 etc.

似乎超出了那些关键字限制的任何事情,可能是长度限制,不太确定。名称和标识符是不同的概念,因此有效标识符的规则不在此处。

这里只是为了解决您使用上述关键字时遇到的错误。

> v$TRUE = 99
Error: unexpected numeric constant in "v$TRUE"
> v$else = 99
Error: unexpected 'else' in "v$else"

0 个答案:

没有答案