gpt4 book ai didi

r - 在R中生成调用图

转载 作者:行者123 更新时间:2023-12-03 09:12:29 24 4
gpt4 key购买 nike

我得到了一大堆格式差的单片R代码,这些代码具有很多功能,并且我想弄清楚什么功能称为什么功能。

我以为我可以使用roxygen的@callGraph东西,但是a)代码必须放在一个包中,这对这段代码来说是一件令人头疼的事情,并且b)当我在一个简单的代码上运行它时,它甚至似乎都不起作用我的包。我看到一位Roxygen的作者发帖说,由于Rgraphviz的依赖性,调用图的生成被禁用了,但是代码在那里。无论如何。

任何人都有更好的方法快速计算出foo称为bar,baz和qux,而qux称为quux?

编辑:基于R的配置文件系统的解决方案很棒,假设您可以实际运行代码...文件中一半的内容无法运行,而且我不知道它的作用...静态分析太多了希望,我想。

编辑2:Roxygen的调用图东西似乎基于函数表达式的递归下降并检查is.callable进行了静态分析。能够在任何功能上运行它,真是太好了……明天我可能会玩这个……

最佳答案

profr可以帮助您吗?从文档中:

> ?profr
> glm_ex <- profr(example(glm))
Read 17 items
> head(glm_ex)
f level time start end leaf source
8 example 1 0.32 0.00 0.32 FALSE utils
9 <Anonymous> 2 0.04 0.00 0.04 FALSE <NA>
10 source 2 0.28 0.04 0.32 FALSE base
11 prepare_Rd 3 0.02 0.00 0.02 FALSE <NA>
12 render 3 0.02 0.02 0.04 FALSE <NA>
13 getSrcLines 3 0.02 0.04 0.06 FALSE base
> summary(glm_ex)
f level time start
eval.with.vis :10 Min. : 1.000 Min. :0.02 Min. :0.0000
<Anonymous> : 3 1st Qu.: 4.000 1st Qu.:0.02 1st Qu.:0.1200
lazyLoadDBfetch: 3 Median : 6.000 Median :0.02 Median :0.2000
%in% : 3 Mean : 7.211 Mean :0.03 Mean :0.1769
inherits : 3 3rd Qu.: 9.000 3rd Qu.:0.02 3rd Qu.:0.2600
is.factor : 3 Max. :22.000 Max. :0.32 Max. :0.3000
(Other) :65
end leaf source
Min. :0.0200 Mode :logical Length:90
1st Qu.:0.1500 FALSE:75 Class :character
Median :0.2400 TRUE :15 Mode :character
Mean :0.2069 NA's :0
3rd Qu.:0.2800
Max. :0.3200

> plot(glm_ex)

所追求的不尽相同,但是您可以使其适应您的需求。

关于r - 在R中生成调用图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4795982/

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