这个问题在这里已经有了答案:
How to make a great R reproducible example
(23 个回答)
5年前关闭。
假设工作区中已经定义了一个对象:
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
可以是任何类型的对象,包括向量、列表或数据框。
最佳答案
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>)
请注意,在执行此代码之前需要删除最后一个参数。 IE。
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" ) )
对上述问题的评论有助于准备此答案。
关于r - 自动生成命令以重现工作区中的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38445070/