私は明らかに私の灰白質が現在把握することを拒否している単純なものを持っています-私がリストを持っていると言います:
list(a = "foo", b = c("bar", "biz", "booze"))
および関数fn
。このような文字列を取得するにはどうすればよいですか?
"fn(a = \"foo\", b = c(\"bar\", \"biz\", \"booze\"))"
PS
朝にこれを聞いて後悔することはわかっています...
私は明らかに私の灰白質が現在把握することを拒否している単純なものを持っています-私がリストを持っていると言います:
list(a = "foo", b = c("bar", "biz", "booze"))
および関数fn
。このような文字列を取得するにはどうすればよいですか?
"fn(a = \"foo\", b = c(\"bar\", \"biz\", \"booze\"))"
PS
朝にこれを聞いて後悔することはわかっています...
これで始められるはずですよね...?
deparse(list(a = "foo", b = c("bar", "biz", "booze")),control = NULL)
[1] "list(a = \"foo\", b = c(\"bar\", \"biz\", \"booze\"))"
@aL3xaがコメントしたように私が完成させたより完全なバージョン...
gsub("^list","fn",
deparse(list(a = "foo", b = c("bar", "biz", "booze")),control = NULL))
R言語定義の第6章で説明されているように、言語オブジェクトを直接操作することもできます。
X <- quote(list(a = "foo", b = c("bar", "biz", "booze")))
X[[1]] <- quote(fn) ## as.symbol("fn") would also work
deparse(X)
# [1] "fn(a = \"foo\", b = c(\"bar\", \"biz\", \"booze\"))"
または、リストがすでに名前付きオブジェクトに格納されている場合は、目的の呼び出しを使用c()
しas.call()
てつなぎ合わせることができます。
ll <- list(a = "foo", b = c("bar", "biz", "booze"))
deparse(as.call(c(as.symbol("fn"), ll)))
# [1] "fn(a = \"foo\", b = c(\"bar\", \"biz\", \"booze\"))"