任何一个编程语言, 要想足够好用,都必须要有完善的代码调试机制,毕竟谁写代码还不碰到几个bug呢。
比如R语言编程,简单的R代码调试,其实靠head,str,help函数即可。所以我从强调初学者应该是要至少把这3个函数敲1000遍以上。比如,群里有人问它的表达矩阵里面的探针ID,跟他准备好的探针ID与基因对应表格, 无法匹配,自己在Excel手动搜索,明明是每一个探针都存在于准备好的探针ID与基因对应表格里面。
我让他把两个数据保存为rdata给我,我写代码检查了一下:
rm(list = ls())
load('input.Rdata')
head(ids)
exprSet[1:4,1:4]
head(rownames(exprSet))
rownames(exprSet)=gsub('"','',rownames(exprSet))
head(rownames(exprSet))
其实我就是简简单单的使用了head函数,就调试出来了。
不过,也有高级调试工具debugging tools,比如一些R中的调试函数
- traceback 函数
- debug 函数
- browser 函数
- trace 函数
- recover 函数
另外,很多开发者在编写其R包的函数里面,也会加入3种用户交互信息:
- message:由message()函数产生
- warning:由warning()函数产生
- error:由stop()函数产生