这可能是一个小问题......
但就在不久之前,我正在查看我编写的一些代码,并注意到我倾向于完全互换使用="something"
和='something_else'
,通常是在同一个函数中。
所以我的问题是:是否有使用一个或其他(单引号或双引号)的R代码有不同的行为?或者他们完全是同义词?
答案 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键 双引号。