我可以使用deparse和substitute将任何文字表达式转换为字符串。例如:
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语法规则?
发布于 2018-01-13 21:09:44
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"https://stackoverflow.com/questions/48236535
复制相似问题