使用R编程的个人经验总结

最近编写了很多代码,不是大佬,这篇文章只是想记录下自己的编程经验。不适合所有的人。

  1. 使用save.image()保存R脚本中的所有对象。每个R脚本,最终都要加一行保存语句,我之前喜欢用save保存某几个对象,但是需要花费精力挑选自己需要的对象,有的时候难免会遗漏需要用到的对象,如果一旦关闭R软件,运行的结果就会消失。现在我使用save.image(file="....rda"),把当前R脚本中的所有对象都保存下来。另一个原因是,为停电做准备。如果停电了(停电属于意外情况了,很少会发生,但如果发生了,机器上的运行结果又没有保存,机器一关机,什么都没有了。需要重新跑。如果使用save.image()保存了R所有的对象,机器关机,再开机之后,还是有运行结果的。前提是计算机运行完了这个代码。或者,每循环一次保存一次save.image,目前我没有试过
  2. 在R脚本中使用R自定义函数。使用R自定义函数的好处是:使得main function部分逻辑清晰。逻辑清楚的时候,代码是不容易出错的。逻辑指的是:这一步在进行什么工作,在主函数中使用一个自定义函数,下一步进行什么工作,在一条语句中使用相应的R自定义函数。使用R自定义函数可以使得一条语句表示一个步骤。方便整洁。
  3. 使用fun_name命名R自定义函数。使用fun加下划线加函数名字来命名R自定义函数,这样操作的好处在于:fun表示function,是function的简称,表示这个函数是自定义的R函数。name用于指明这个函数的名字,通常使用可以代表这个函数的作用或者是草稿纸上数学推导时使用的数学符号,让推导的数学符号与实际运行中的数学符号保持一致!
  4. 如果使用服务器运行程序,尽量设备上限为3台。不是说,不能开设多台设备,只是人的精力有限,尽管做好的相应的记录,跑的程序一多(通常一台机器可以跑15个code),难免会出现错误。这些错误主要来源于对同一个代码修改某些参数,有的参数修改了,有的参数可能没有修改,很简单的工作,但是代码一多,很容易出现错误。一出现错误,难免会怀疑自己,怀疑自己是否做的认真,实际已经很认真了(我通常会在运行程序之前检查几遍代码,程序运行完之后,再检查一遍R脚本),但是有些错误还是难免会出现。此外,如果运行程序多的时候,一定要在纸上做好相应的记录,哪台机器跑了哪些代码,越详细越好,因为自己真的很容易忘记。
  5. 不要怕麻烦,R脚本的命名越精确越好。关于R脚本的命名,使用英文字母、数字和下划线进行命名,不要怕麻烦,R脚本的名字写的越详细越好,当然越简短精炼越好。这样做,是为自己之后节省时间,不需要看这个脚本就单单看脚本名字,就知道这个脚本执行的什么工作。
  6. 把服务器中的包含运行结果的文件夹复制到本机中。把服务器中的运行结果存放到一个文件夹中,将这个文件夹从服务器复制到自己的笔记本中,当不需要的时候,放到回收站中,如果某一天整理模拟结果的时候,一个结果不太确定,这个时候,还可以从回收站中还相应的结果,再进行核实,这样节省了时间又节省了金钱。
  7. 文件夹中只留下写好的程序,其他程序都要删掉!只在文件夹中保存写的没有错误的程序,这样如果以后要翻看,看到的一定是正确的程序,而不是需要再次花时间核对,哪个程序是正确的,哪个程序是错误的!在程序中没有必要写注释,如果程序写的非常好,不用注释也能看懂,往往注释是繁杂的,是啰里啰唆的!努力的意义是不依靠运气也能做成这件事!
  8. 一定要删掉电脑中没有用的程序!做减法,做断舍离,不要想着这个以后能不能会用上,只要是没有用上的,错误的代码,统统删掉,电脑的每个文件夹都要像自己家的柜子一样整洁!一目了然!生活已经很复杂了,所以在这些细节和小事情上尽可能做到简单!一切从简!
  9. 每个项目都要建立各自的project,这样更简洁,明了,不要在众多程序中让自己乱了头绪,花费不必要的精力!
  10. 在桌面上为每个项目建立一个文件夹,前提是把桌面设置到D盘,这样原本在C盘压力不会太大,桌面上想放什么就什么,没有什么顾虑。为什么要在桌面建立项目的文件夹呢?首先,在桌面设立项目的问价夹,方便在第一时间找到我想要从事的项目,不需要找到D盘,再从众多的文件夹中找到我需要的文件夹,生活的习惯就是让想保持的行为简单,如果这个行为做起来越简单,越不费力气,这个行为越容易进行,这个习惯越容易保持下去!生活也会越快乐!
  11. 不在自己的电脑上运行模拟程序。一方面是自己电脑不能一次运行好多程序。另一方面不方便管理所进行的模拟项目,因为在自己的电脑上运行的程序数量少,但是一个模拟可能需要运行多个项目,这个时候,需要把其他的模拟程序结果一个一个放在这个文件夹中,我觉得是很繁琐的事情!这样做还有一个好处,自己的电脑上只有正确的代码,没有错误以及尝试的代码!此外,如果在自己计算机上运行模拟,并且同时还在服务器上运行程序,这个时候,开的机器多一些,什么运行了什么没运行是很繁琐的事情,并且自己计算机上运行的模拟个数远小于服务器上的,之前说过,对于我个人而言,开的机器不能超过三台,如果超过三台,哪怕最后一台机器是自己的笔记本,跑的程序就一个两个,我可能会烦躁。不信你就试试!(想到什么就写什么了,这句话没有整理逻辑,就先这样吧)
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值