这个问题可能比dump()更具一般性,但我的特定应用程序使用dump()。
我想获取一个nnet()模型对象,将其转换为ascii并将其存储在另一个对象中。
y = runif(1000)
x1 = rnorm(1000)
x2 = rnorm(1000)
model = nnet(y~x1+x2,size=10)
textModel = dump("model")
问题是,textModel
等于"model"
而不是对象model
的ascii表示
dump()和dput()以及其他类似函数需要指定一个文件。我有工作代码来读取已输出并解析/评估它的文件,但这将在foreach()循环中使用,我不能依赖于外部文件的通道。相反,我想创建一个data.frame,它将存储一些参考细节和模型对象的ascii表示。
有没有办法绕过dump()写入文件的需要,而是直接写入R中的对象?
答案 0 :(得分:2)
我确信有更好的方法。也许对数据库有更多经验的人会表现出来。
无论如何,您始终可以捕获dput
输出:
x <- capture.output(dput(iris))
eval(parse(text=paste(x, collapse="\n")))
当然,如果你这样做了数千次,那很可能会很慢。