如何分析R6类函数?

时间:2015-08-13 09:10:31

标签: r r6

R6类函数是匿名的,因此分析信息会丢失。例如:

library(R6)
library(proftools)

Test <- R6Class("Test",
  public = list(
    fn = function() pause(0.3)
  )
)
obj <- Test$new()

#
# Profile
Rprof(line.profiling=TRUE)
replicate(10, obj$fn())
Rprof(NULL)
png('profile-self.png')
plotProfileCallGraph(readProfileData(), score='self')
dev.off()

提供以下个人资料信息:

profile graph

如何有效地分析这些功能?

1 个答案:

答案 0 :(得分:1)

如果您使用的是最新版本的R-devel(自this commit起),则会在分析数据中输出obj$fn而不是<Anonymous>。这应该是R的下一个版本(3.3.0?)。