R:传递字符串作为参数时没有引号

时间:2014-04-11 14:34:45

标签: r function

我想知道如何让R将参数视为字符串,即使它没有引号也是如此。也许功能未知bar

foo <- function(x) bar(a))
foo(a abadsf 23)
[1] "a abadsf 23"

2 个答案:

答案 0 :(得分:5)

这样做你想要的吗?

printname <- function(x) deparse(substitute(x))
printname(foo)
[1] "foo"
printname(bar)
[1] "bar"

编辑: 这可能不会被认为是可以接受的,这取决于这些值来自何处,但是包含空格可以尝试类似:

print.input = function(y=readline()) return(y)

脚本中的用法:

print.input()
input with spaces
[1] "input with spaces"

答案 1 :(得分:1)

您可以使用引号,但这不适用于空格。

deparse(quote(abc))
## [1] "abc"
deparse(quote(abc 1))
## Error: unexpected numeric constant in "deparse(quote(abc 1"