楼主: kk22boy
2855 0

[程序分享] R语言编程入门之七:程序查错(完) [推广有奖]

  • 8关注
  • 95粉丝

一叶知秋

学科带头人

51%

还不是VIP/贵宾

-

TA的文库  其他...

计量经济与统计

SSCI、权威 论文写作及投稿经验

威望
1
论坛币
56594 个
通用积分
128.9629
学术水平
437 点
热心指数
492 点
信用等级
393 点
经验
67522 点
帖子
1589
精华
0
在线时间
2188 小时
注册时间
2005-3-10
最后登录
2024-4-2

初级热心勋章 初级信用勋章

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
写程序难免会出错,有时候一个微小的错误需要花很多时间来调试程序来修正它。所以掌握必要的调试方法能避免很多的无用功。

基本的除错方法是跟踪重要变量的赋值情况。在循环或条件分支代码中加入显示函数能完成这个工作。例如cat('var',var,'\n')。在确认程序运行正常后,可以将这行代码进行注释。好的编程风格也能有效的减少出错的机会。在编写代码时先写出一个功能最为简单的功能,然后在此基础上逐步添加其它复杂的功能。对输出结果进行绘图或统计汇总也能揭示一些潜在的问题。


另一种避免出错的方法是尽量使用函数。使用函数能将一个大的程序分解成几个小型的模块。一个函数模块只负责实现某一种功能的实现。这样容易理解程序,而且容易针对各函数的输入、计算、输出分别进行查错调试。R语言中函数的运行不会影响到全局变量,所以使用函数基本上不会有什么副作用。

但是在使用函数时需要注意的问题是输入参数的不可预测性。未预料到的输入参数会产生奇怪的或是错误的输出,所以在函数起始部分就要用条件语句来检查参数的正确与否。如果输入参数不正确,可以用下面的语句来停止程序执行stop('your message here.')

对函数进行调试的重要工具是browser(),它可以使我们进入调试模式逐行运行代码。在函数中的某一行插入browser()后,在函数执行时会在这一行暂停中断,并显示一个提示符。此时我们可以在提示符后输入任何R语言的交互式命令进行检查调试。输入n则会逐行运行程序,并提示下一行将运行的语句。输入c会直接跳到下一个中断点。而输入Q则会直接跟出调试模式。

debug()函数和browser()是相似的,如果你认为某个函数,例如fx(x),有问题的话,使用debug(fx(x))即可进入调试模式。它本质上是在函数的第一行加入了browser,所以其它提示和命令都是相同的。其它与程序调试有关的函数还包括:trace(),setBreakpoint(),traceback(),recover()
By 写长城的诗
二维码

扫码加我 拉你入群

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

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

关键词:R语言编程 语言编程 程序查错 编程入门 R语言 程序 语言编程

如果该贴对您有些许帮助,希望你能回复一下或者评一下热心指数!谢谢!
您需要登录后才可以回帖 登录 | 我要注册

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

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

GMT+8, 2024-5-1 07:41