将包含空格的文字转换为R中的字符串

时间:2018-01-13 02:54:52

标签: r

我可以使用deparsesubstitute将任何文字表达式转换为字符串。例如:

f <- function(...) deparse(substitute(...))
f(abc)
# "abc"

如果参数包含空格,我可以使用反引号运算符。没有反引号,我收到一个错误:

f(`abc def`)
# "abc def"
f(abc def)
# Error: unexpected symbol in "f(abc def"

是否有可能让f(abc def)在R中工作?或者它是否违反了一些基本的R语法规则?

1 个答案:

答案 0 :(得分:0)

abc def不是有效的R语法,但可以使用非语法名称将其包围在后面。这仍然允许在确定的情况下使用f

f(`abc def`)
## [1] "abc def"

其他解决方法可能是将点转换为空格(如果您在输入中不需要点)或将_转换为空格或使用〜代替空格并再次翻译它:

chartr(".", " ", f(abc.def))
## [1] "abc def"

chartr("_", " ", f(abc_def))
## [1] "abc def"

gsub(" *~ *", " ", f(abc~def))
## [1] "abc def"