楼主: weilitiaotiao
35121 32

[学习分享] 如何调试R程序 [推广有奖]

  • 0关注
  • 4粉丝

院士

17%

还不是VIP/贵宾

-

威望
0
论坛币
879 个
通用积分
134.9461
学术水平
4 点
热心指数
8 点
信用等级
5 点
经验
180175 点
帖子
1368
精华
0
在线时间
1392 小时
注册时间
2011-8-16
最后登录
2024-5-24

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

R语言的调试重要性不言而喻,这段时间准备改进一个R的包,但由于接触R时间不长,中间的很多东西不懂,需要重新打包调试,以对里面的很多程序有深入了解,下面从几个方面分享一下我的收获。

1、  准备工作

a)        R软件的下载http://cran.r-project.org/

b)        下载源码包,比如我下载了tsDyn(非线性时间序列)包,http://cran.r-project.org/web/packages/available_packages_by_name.html

c)        下载相关软件,这里主要指RStudio(http://www.rstudio.com/)和Revolution REnterprise(http://info.revolutionanalytics.com/free-academic.html,学术版的无需付费,SerialNumber:9369-3314-9053)。

d)        如果需要打包,则需下载Rtools工具:http://cran.r-project.org/bin/windows/Rtools/,当然,配套的MikTeX 或CteX(备选)用来生成PDF格式的帮助文件。下载地址:http://www.miktex.org/http://www.ctex.org/HomePage

2、  开始调试

a)        R中的调试(重新打包调试)

如果你准备在R中调试,输入debugOnce(“functionName”)或debug(“functionName”)即可。然后输入函数调用,R会启用调试模式,提示符会由“>”变为”Browse[1]>”,这时敲回车键或“n”(next)即可实现单步调试,按“c”(continue)键跳出当前层次。当然,R中的调试很不爽的地方就是没有图形化的东西,一步一步,无法设置断点(或者用browse()设置断点,非常麻烦)。感觉回到了石器时代。

当然,如果你是不怕麻烦,可在你需要关心的地方写上cat,将关键信息输出,但需要重新打包,安装,每次至少需要5分钟的时间,麻烦(这是我一开始的调试方法),后来看了R编程艺术一书中的调试后,感觉使用其它工具调试是必须的。截图如下:

4.png

b)        RStudio中的调试

在RStudio中调试可参考:http://www.rstudio.com/ide/docs/debugging/overview,需要0.98.274版本才支持调试。如果仍然不明白,可在Youtube上看Debugging R Applications视频,有三个:

http://www.youtube.com/watch?v=tUfJc24XDzs

http://www.youtube.com/watch?v=-3j466H8GUE

http://www.youtube.com/watch?v=tptSrIYOkpM

当然,需要翻墙哦。如果你还不会翻墙,请联系我或下载我下载的三个视频。在RStudio中调试优点就是可以图形化的调试,可设置断点,但唯一的缺点就是无法调试函数内部的函数,比如A函数调用了F函数,F函数又调用了G函数,如果你想调试G函数就无能为力了(或许有,但我还不知道)。感觉还是不爽,不过总算回到了计算机年代了,哈哈。

在RStudio中调试自己的程序,只需先将r源文件Source即可,如图:


3.png

c)        Revolution R Enterprise中的调试

熟悉微软的MS Visual Studio的用户对上面两种方法的调试肯定还是不习惯,不过这种遗憾Revolution R Enterprise 6.2已经弥补了,调试功能强大。可参考下面的视频学习Revolution R Enterprise中的调试。

demo of debuggingin R

视频:http://www.revolutionanalytics.com/demos/revolution-productivity-environment/demo.htm

视频截图:

1.png

我调试tsDyn的截图为:

2.png


调试时,注意激活的文件不要为tests目录中的文件,最好为模型源码文件,比如lstar.r文件,否则调试进入不了里面的函数。

注意,如果报没有embedd函数的错误,请不要紧张,加载tseriesChaos包即可。


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:R程序 Productivity Applications environment Application 程序 如何

5.png (57.07 KB)

5.png

已有 1 人评分论坛币 收起 理由
cheetahfly + 10 精彩帖子

总评分: 论坛币 + 10   查看全部评分

本帖被以下文库推荐

沙发
weilitiaotiao 发表于 2013-8-26 21:43:20 |只看作者 |坛友微信交流群
图片上传后乱套了,郁闷

使用道具

藤椅
hqs00000 在职认证  发表于 2013-8-27 20:25:30 |只看作者 |坛友微信交流群
兄台  第一个剪辑器中额语法高亮很不错,请问您是哪一个编辑器做的吗?
失去的东西太多了!

使用道具

板凳
hysong 发表于 2013-8-28 13:29:35 |只看作者 |坛友微信交流群
非常不错。挺实用的。

使用道具

报纸
weilitiaotiao 发表于 2013-8-29 15:25:28 |只看作者 |坛友微信交流群
@hqs00000,第一编辑器是Notpad++,有很多下载的地方哦,官网是:http://notepad-plus-plus.org/

使用道具

地板
dxystata 发表于 2013-8-31 14:11:58 |只看作者 |坛友微信交流群
做成word或pdf上传吧,谢谢!

使用道具

7
play_alone 发表于 2013-9-12 22:28:41 |只看作者 |坛友微信交流群
感觉好高端的样子。。

使用道具

8
weilitiaotiao 发表于 2013-11-14 09:03:00 |只看作者 |坛友微信交流群
有朋友想找我获取视频,请留下邮箱!可以收大附件的邮箱

使用道具

9
树袋熊2 发表于 2013-11-18 09:36:18 |只看作者 |坛友微信交流群
weilitiaotiao 发表于 2013-11-14 09:03
有朋友想找我获取视频,请留下邮箱!可以收大附件的邮箱
谢LZ,我想要:649573734@qq.com

使用道具

10
weidw 发表于 2013-12-24 05:53:24 |只看作者 |坛友微信交流群
不喜欢Rstudio

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-29 15:11