R函数将对象转换为代码

k-z*_*zar 6 r object

我在R中寻找一个函数,它将一个对象转换为可用于创建该对象副本的代码.像这样的东西:

> myObject=c(1, 2, 3)
> magicFunction(myObject)
[1] "c(1,2,3)"
Run Code Online (Sandbox Code Playgroud)

我认为这个功能存在,但我找不到它.非常感谢你的帮助.

akr*_*run 7

我们可以用 deparse

deparse(myObject)
#[1] "c(1, 2, 3)"
Run Code Online (Sandbox Code Playgroud)

  • 真棒.谢谢! (2认同)

Sym*_*xAU 6

您也可以使用dput,因为它保留了对象的结构,而不是它的字符串表示.

来自?dput:

将R对象的ASCII文本表示写入文件或连接,或使用一个来重新创建对象.

例如

myObject=c(1, 2, 3)

dput(myObject)
# c(1, 2, 3)


identical(myObject, dput(myObject))
# c(1, 2, 3)
# [1] TRUE

## whereas
identical(myObject, deparse(myObject))
# [1] FALSE
Run Code Online (Sandbox Code Playgroud)