Stephen Henderson
Stephen Henderson

Reputation: 6522

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

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?

Upvotes: 49

Views: 27819

Answers (3)

YaOzI
YaOzI

Reputation: 17458

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.

Upvotes: 20

user1317221_G
user1317221_G

Reputation: 15441

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

Upvotes: 16

Waldir Leoncio
Waldir Leoncio

Reputation: 11341

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."

Upvotes: 32

Related Questions