根据dput()生成R对象 - 重新创建他人的数据

3

假设我正在阅读一篇文章,其中包含示例数据dput()。有没有一种方法可以通过复制并粘贴dput输出来重新创建该数据?

例如:

dput(analysis)

structure(c("1", "2", "3", "95", "76", "73", "3.9 [3, 4.7]", 
"3.9 [2.9, 4.9]", "3.9 [2.9, 4.9]", "-0.149364093194283", "-0.0634756995556436", 
"-0.0800909978288318", "8 [7, 9]", "8.2 [7.2, 9.3]", "8.3 [7.2, 9.3]", 
"0.000201414878031159", "0.214881972259157", "0.268328556507466"
), .Dim = c(3L, 6L), .Dimnames = list(NULL, c("Module", "Individuals", 
"y1 [95CI]", "y1 - mu", "y2 [95CI]", "y2 - mu")))

有没有比手动创建多个向量、命名等更简单的方法来重现这个过程?

我对这背后的方法很感兴趣,因为我觉得这样可以节省时间,例如在回答其他人的stackoverflow问题时重新创建共享数据。


2
只需将dput输出赋值给变量即可重新创建,例如df <- dput(mtcars)... df == mtcarsTRUE - undefined
将输出(structure(c(....))复制并赋值给一个变量,可以重现原始帖子的数据。structure()list()的一种高级版本。 - undefined
2
谢谢你们两位。你们的建议都有效。诚然,我之前尝试过这种方法,但并不完美 - 不确定原因。不管怎样,现在它起作用了。对于这个平凡的问题,我很抱歉。 - undefined
1个回答

2
原来答案很平凡。只需将dput输出赋值给一个变量即可。

例如:

m <- dput(structure(c("1", "2", "3", "9532", "6968", "6637", "4 [3.9, 4.1]", 
                       "4 [3.9, 4.1]", "4 [3.9, 4.1]", "0.0187143916545995", "0.00863901324167671", 
                       "0.00960376951904252", "8 [7.9, 8.1]", "8 [7.9, 8.1]", "8 [7.9, 8.1]", 
                       "0.0187528128796863", "0.00481608674854073", "0.0173215731030023"
), .Dim = c(3L, 6L), .Dimnames = list(NULL, c("Module", "Individuals", 
                                              "y0 [95CI]", "y0 - mu", "y1 [95CI]", "y1 - mu")))
)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接