gpt4 book ai didi

R 和 Knitr/HTML - 处理需要很长时间才能运行的脚本

转载 作者:行者123 更新时间:2023-12-04 02:17:33 29 4
gpt4 key购买 nike

我正在记录一些代码,供其他学生阅读,而 knitr 似乎是一个很好的方法。困扰我的一点是,对于需要长时间运行的脚本,我的方法效率不高。

假设我有类似的东西

<!--begin.rcode example1, fig.width=8, fig.height=10
input <- data[,c("K12","K23","delta")]
output <- data[,"Class"]
startTime <- proc.time()
result <- C5.0(input, output)
totalTime <- proc.time()-startTime
cat("Execution time: ", totalTime[3], "\n")
plot(result)
result
end.rcode-->

这会根据名为 data 的数据框创建、绘制和打印决策树。我想在单个 .Rhtml 文档中有几个这样的 block ,并且在每个 block 中我会更改数据集或算法的参数。

如果数据集很大,调用C5.0会耗费一些时间。如果我将一些其他示例添加到同一个 .Rhtml 文件,我将不得不重新运行它以创建 .html 文件和图形。我一直在重复这样做,因为我想评论执行结果,为了创建 .html 文件,我需要再次编织 .Rhtml 文件,这意味着重新运行代码。

我正在寻找的是一种方法,要么告诉 knitr 它可以重用以前执行 block 的结果(看不到这样做的方法,此外,这似乎有风险且手动)或破坏 .Rhtml可以单独编织但在我需要时仍然制作整个 .html 的部分 - 更好的是,类似于 knitr 的“制作”,它只会重新运行更改的 .Rhtml 并创建单个 .html 文件。顺便说一句,如果有人知道如何从命令行编写 .Rhtml 文件,那也很有用——我使用 RStudio 是为了方便,但单个命令行命令也会有帮助。

我知道这似乎是主观的,但我并不是在寻找更好的(主观上,“我的方法比你的更好”)方法来完成任务——任何无需重新运行整个 .Rhtml 页面即可工作的方法会做的。

谢谢

最佳答案

将长时间运行的代码与 knitr 相结合的一种非常简单的方法是使用 cache选项。要使用缓存,只需添加 cache=TRUE

我的个人经验是,您经常需要删除缓存生成的目录并进行干净的构建。

关于R 和 Knitr/HTML - 处理需要很长时间才能运行的脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33020918/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com