假设已在工作区中定义了一个对象:
a <- round( rnorm(10) )
[1] 0 -1 -1 -1 -1 0 2 1 1 1
如何以编程方式生成创建a
的命令?
例如,我想在工作区中使用a
来生成以下字符串codeToCreateA
:
codeToCreateA <- "a <- c( 0, -1, -1, -1, -1, 0, 2, 1, 1, 1)"
我对一般情况很感兴趣,其中a
可以是任何类对象,包括向量,列表或数据框。
答案 0 :(得分:3)
dput(A)
返回对象A
的结构。然后,它可以用于直接重新创建A
,或者共享用于与其他人重新创建单个对象的代码。
我在矢量,数据框和列表上测试过它。
以下是数据平板电脑(也是类数据框)的示例:
a <- structure(list(A = c("a", "a", "a", "b", "b"), B = 1:5),
.Names = c("A", "B"), row.names = c(NA, -5L),
class = c("data.table", "data.frame" ),
.internal.selfref = <pointer: 0x22f5938>)
请注意,在执行此代码之前,需要删除最后一个参数。即。
b <- structure(list(A = c("a", "a", "a", "b", "b"), B = 1:5),
.Names = c("A", "B"), row.names = c(NA, -5L),
class = c("data.table", "data.frame" ) )
上述问题的评论有助于准备这个答案。