R无法使用Rcpp输入引号

时间:2019-02-03 06:05:40

标签: r

Rcpp无法识别双引号,这表明出现“意外符号”错误。

以下是示例代码。

cppFunction("NumericVector attrs() { 
NumericVector out = NumericVector::create(1,2,3); 
out.names() = CharacterVector::create("xa","xb","xc"); 
return out; 
}")

问题是“ xa”,“ xb”和“ xc”中的引号。这些代码是使用Microsoft Word和记事本编写的。

1 个答案:

答案 0 :(得分:1)

尝试将引号转义:

cppFunction("NumericVector attrs() { 
NumericVector out = NumericVector::create(1,2,3); 
out.names() = CharacterVector::create(\"xa\",\"xb\",\"xc\"); 
return out; 
}")

为概括起见,您不能在R中的字符串中包含引号而不进行转义。但是,您可以在双引号字符串内使用单引号,反之亦然:

s1 <- "the 'cat' on the roof"
s2 <- 'the "cat" on the roof'

实际上,后一种方法可能是使用cppFunction解决您的问题的一种简便方法,但是我将保留原始答案,因为它可以解决问题本身。