我一直试图深入研究我编写的一些R代码中的时间,所以我正在使用Rprof.但输出还不是很有用:
> summaryRprof()
$by.self
self.time self.pct total.time total.pct
"$<-.data.frame" 2.38 23.2 2.38 23.2
"FUN" 2.04 19.9 10.20 99.6
"[.data.frame" 1.74 17.0 5.54 54.1
"[.factor" 1.42 13.9 2.90 28.3
...
Run Code Online (Sandbox Code Playgroud)
有没有办法深入挖掘并找出哪些具体的调用$<-.data.frame,FUN(可能来自哪些by())等实际上是罪魁祸首?或者我是否需要重构代码并制作更小的功能块以获得更细粒度的结果?
我拒绝重构的唯一原因是我必须将数据结构传递给函数,并且所有传递都是按值进行的,所以这似乎是错误方向的一步.
谢谢.
现有的CRAN包profr和proftools对此很有用。后者可以使用 Rgraphviz,但它并不总是可安装的。
有关分析的 R Wiki 页面包含附加信息和 Romain 编写的一个不错的脚本,该脚本也可以可视化(但需要 graphviz)。
| 归档时间: |
|
| 查看次数: |
2313 次 |
| 最近记录: |