对于 R Shiny Web 应用程序,有哪些好方法可以运行代码分析,以显示 Shiny 代码中占用最多处理时间的部分?
我有一个又大又肥又复杂的 Shiny 应用程序,我想弄清楚在这个迷宫般的代码中,我的 Shiny 应用程序最慢的地方。我已经尝试过 Rprof 和 profr 但并没有从他们那里得到太多的见解。
最佳答案
我认为这个问题需要一点更新,因此我正在添加另一个答案......
您可以使用包profvis
也可以分析 Shiny 的应用程序。它将直接为您的 R 代码提供火焰图。 IE。无需使用 Chrome 的火焰图来猜测瓶颈在哪里。您将确切地知道在哪里更改您的代码。
操作方法如下:
下面添加了某些步骤的详细信息:
第 1 步:运行 profvis
library(profvis)
profvis({ runApp('directory_of_shiny_app') }
, prof_output = '/directory_to_save_profile')
第 5 步:加载您的个人资料
profvis(prof_input = '/path_to_save_output/random_name.Rprof')
注: Profvis 为您的文件随机命名。所以你需要相应地改变输入路径
第六步:转成html
如果您有一个巨大的应用程序并且火焰图变得更长一点,则可能需要此步骤。您可能会收到错误“Pandoc:... memory”
p <- profvis(prof_input = '/path_to_save_output/file108f93bff877b.Rprof')
htmlwidgets::saveWidget(p, "/path_to_save_output/profile.html")
然后在浏览器中打开 html 文件。
关于r - Shiny 应用程序的代码分析?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21484115/