我已经开始学习R并尝试创建矢量,如下所示:
c(""check"")
我需要输出为:“check”。但我得到语法错误。如何在创建向量时转义引号?
答案 0 :(得分:14)
正如@juba所提到的,一种方法是直接转义引号。
另一种方法是在字符表达式周围使用单引号,其中包含双引号。
> x <- 'say "Hello!"'
> x
[1] "say \"Hello!\""
> cat(x)
say "Hello!"
答案 1 :(得分:9)
其他答案很好地展示了在创建向量时如何处理字符串中的双引号,这确实是您在问题中提出的最后一件事。但鉴于您还提到了 display 和 output ,您可能需要牢记dQuote
。如果你想用双引号括住字符向量的每个元素,这是很有用的,特别是如果你没有特定的需要或希望将引号存储在实际的字符向量本身中。
# default is to use "fancy quotes"
text <- c("check")
message(dQuote(text))
## “check”
# switch to straight quotes by setting an option
options(useFancyQuotes = FALSE)
message(dQuote(text))
## "check"
# assign result to create a vector of quoted character strings
text.quoted <- dQuote(text)
message(text.quoted)
## "check"
对于它的价值,sQuote
函数用单引号做同样的事情。
答案 2 :(得分:3)
使用反斜杠:
x <- "say \"Hello!\""
如果您不构建矢量,则不需要使用c
。
如果您想要输出未转义的引号,您可能需要使用cat
代替print
:
R> cat(x)
say "Hello!"