R函数将对象转换为代码

时间:2016-11-29 04:58:11

标签: r object

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

> myObject=c(1, 2, 3)
> magicFunction(myObject)
[1] "c(1,2,3)"

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

2 个答案:

答案 0 :(得分:7)

我们可以使用deparse

deparse(myObject)
#[1] "c(1, 2, 3)"

答案 1 :(得分: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