这可能看起来像一个简单而基本的问题。 我已经研究了r几个月了,似乎我找不到我正在寻找的功能。我甚至不知道如何搜索它......用搜索字符串创意。
我知道有一个函数来获取变量的定义而不是其内容。我解释自己......
> x <- c(4:6,5:9)
> x # This will return the contents of x... 4,5,6,5,6,7,8,9.
> the.function.i.m.looking.for(x) # would return:
> c(4:6,5:9)
有人记得那个功能吗? 感谢。
答案 0 :(得分:5)
dput
就是你的意思。从帮助页面:“将R对象的ASCII文本表示写入文件或连接,或使用一个来重新创建对象。”
> x <- c(4:6,5:9)
dput(x)
c(4L, 5L, 6L, 5L, 6L, 7L, 8L, 9L)
> x2 <- c(4L, 5L, 6L, 5L, 6L, 7L, 8L, 9L)
> all.equal(x, x2)
[1] TRUE
答案 1 :(得分:4)
dput(x)
让你关闭:
R> dput(x)
c(4L, 5L, 6L, 5L, 6L, 7L, 8L, 9L)
或者,如果一个字符表示就足够了,那么deparse(substitute())
成语就足够了:
foo <- function(x) {
deparse(substitute(x))
}
但你需要这样称呼它:
R> foo(c(4:6,5:9))
[1] "c(4:6, 5:9)"
不是这个
R> foo(x)
[1] "x"
答案 2 :(得分:3)
如果您想要返回重新创建对象所需的语法,那么dput()
就是您的朋友:
x <- c(4:6,5:9)
dput(x)
c(4L, 5L, 6L, 5L, 6L, 7L, 8L, 9L)