在R中,表示 character vector 元素的可以用双引号(")或者单引号(')来括起字符串值,两者除了在包含对方时不用转意之外,是完全等价的。举个例子:
a <- "Hello, world"
b <- 'Hello, world'
上面两句是完全等价的,产生了相同的 character vector。不过,有时我们希望产生的字符串中含有定义字符串时用的引号,此时就需要转义符来表明「特定的引号不是字符串定义结束,而是一个双引号字符」,例如在产生 You should use "her" in this 'passage' 这句话:
a <- "You should use \"her\" in this 'passage'."
b <- 'You should use "her" in this \'passage\'.'
上面两句的结果也是完全相同的,差异就在于用双引号定义字符串时,里面如果包含双引号字符,那么就要用\"来转义;单引号定义字符串时需要用到单引号本身那么就需要用\'来转义。
另外还有一个用于表示变量符号的 ` 引号,用该符号可以定义各种各样的变量名称,例如:
`?.a` <- c(1,2,3)
`hi+` <- function(x,y) { x+y }
`hi+`(1,2)
使得各种变量名称都能定义,提高了语言的容忍度。
引用原文:http://www.zhihu.com/question/23076362