Are double "" and single '' quotes (always) interchangeable in R?

17,739

Solution 1

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

Solution 2

According to http://stat.ethz.ch/R-manual/R-patched/library/base/html/Quotes.html, "[s]ingle and double quotes delimit character constants. They can be used interchangeably but double quotes are preferred (and character constants are printed using double quotes), so single quotes are normally only used to delimit character constants containing double quotes."

Solution 3

Just for curiosity, there is a further explaination in R-help mailing list for Why double quote is preferred in R:

To avoid confusion for those who are accustomed to programming in the C family of languages (C, C++, Java), where there is a difference in the meaning of single quotes and double quotes. A C programmer reads 'a' as a single character and "a" as a character string consisting of the letter 'a' followed by a null character to terminate the string.

In R there is no character data type, there are only character strings. For consistency with other languages it helps if character strings are delimited by double quotes. The single quote version in R is for convenience.

(Since) On most keyboards you don't need to use the shift key to type a single quote but you do need the shift for a double quote.

Share:
17,739
Stephen Henderson
Author by

Stephen Henderson

I do bioinformatics and cancer research at University College London (UCL). personal philosophy: #1) Respect the privacy of others. #2) Think before you type. #3) With great power comes great responsibility. #4) "It is better to have 100 functions operate on one data structure than to have 10 functions operate on 10 data structures." - Alan J. Perlis

Updated on June 12, 2022

Comments

  • Stephen Henderson
    Stephen Henderson almost 2 years

    This is perhaps rather a minor question...

    but just a moment ago I was looking through some code I had written and noticed that I tend to just use ="something" and ='something_else' completely interchangeably, often in the same function.

    So my question is: Is there R code in which using one or other (single or double quotes) has different behaviour? Or are they totally synonymous?