R中是否可以互换“双”和“单”引号(总是)?

时间:2013-12-13 17:26:17

标签: r quotes double-quotes single-quotes

这可能是一个小问题......

但就在不久之前,我正在查看我编写的一些代码,并注意到我倾向于完全互换使用="something"='something_else',通常是在同一个函数中。

所以我的问题是:是否有使用一个或其他(单引号或双引号)的R代码有不同的行为?或者他们完全是同义词?

3 个答案:

答案 0 :(得分:11)

根据http://stat.ethz.ch/R-manual/R-patched/library/base/html/Quotes.html,“[s]单引号和双引号分隔字符常量。它们可以互换使用但是双引号是首选(字符常量使用双引号打印) ,因此单引号通常仅用于分隔包含双引号的字符常量。“

答案 1 :(得分:9)

> print(""hi"")
Error: unexpected symbol in "print(""hi"
> print("'hi'")
[1] "'hi'"
> print("hi")
[1] "hi"

答案 2 :(得分:3)

出于好奇,在Why double quote is preferred in R的R帮助邮件列表中还有进一步的解释:

  

对于那些习惯于在   C语言家族(C,C ++,Java),其中   单引号和双引号的含义。   C程序员将'a'读为单个字符,将"a"读为字符   由字母'a'和后面的null字符组成的字符串   终止字符串。

     

在R中没有字符数据类型,有   仅字符串。 与其他语言保持一致有助于   如果字符串用双引号分隔。 单引号   R中的版本是为了方便起见。

     

(因为)在大多数键盘上,您不需要   使用Shift键输入单引号,但您确实需要使用Shift键   双引号。