这篇文章给大家介绍R语言中相关的经验有哪些,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
专注于为中小企业提供成都网站设计、成都网站制作服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业涟源免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了成百上千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
R中function相关的一些分享
正文:
function的本质是文本替换
function可以在R中无处不在,如之前文章提到的read_excel()和write.csv,又如base中自带的mean()和median()等,这些统统都是function。所以function可以理解为是为了解决某一问题或者某一系列问题而打包好的一系列语句。感觉就如中学数学中的几元几次方程,输入x值就会得到特定的y值。
function的来源主要分两个。
一个是别人写,即存在与base中或者是其他package中别人已经写好的函数。
另一个是自己写的,也叫自定义function,可以根据自己的实际要解决的问题,针对性的写一个满足个人特定需求的一段代码并打包在function语句中,生成自己的function。如何自己写一个function,以及写出来function能解决问题的水平,和function本身的语法句法内容,一定程度上可以反应或者检验当下编写者的代码水平。
function的语法组成,固定语句+参数们+解决问题的代码们。就分这三大部分,需要研究是第二和第三部分。
如何写一个自定义function。大概分以下几个步骤:
第一,明确写function的目的。有没有替代方法,是否真正需要自定函数来解决问题。考虑性价比,是否真正的有必要去自己花时间开发一段代码,有没有各位神仙前辈已经就类似的问题开发了不错的包可以直接调用。等等。再确认确实需要写之后,那就开始开发代码吧,其实过程是很快乐的。
第二,写function的思路。分而治之,各个击破,再一统山河。问题通常都没有那么复杂,之所以变得很复杂一般是因为思路比较混乱。可以将问题拆分,分别去解决实现,最终整合结果就ok了。如果反而把问题变得更复杂,就属于本末倒置,得不偿失了。
第三,写function的步骤。大体如下,
1: 就写一段可以解决目标问题的代码,即“硬”代码。
2:对代码进行精简,提炼。
3:对“硬”代码中的关键data或者variable用参数代替,实现文本替换。
4:对生成的自定义function小范围测试。
5:根据实际环境,模拟可能遇到的真实情景,大规模测试function的弹性和效果,并微调。
第四:需要注意的事项。
1:尽可能的少用循环,循环会拉低运行效率,尤其是数据量很大的时候,会慢的感人。
2:尽可能精简语句,减少冗余代码,不要拐弯抹角,这样对自己或者对于阅读代码的人都好。
3:可以尝试在代码中调用其他package中的函数,提高效率,事半功倍,站在巨人肩膀上看得更远。
4:如果考虑未来的可扩展性,尽量在编写的过程中就留足余地,中间步骤避免使用一些硬文本,尽量使用可以自动运行得到结果的代码。
5:参数要精而优,设置前需三思。
就像SAS大佬们疯狂开发自己macro一样,R大佬们也在疯狂开发自己function。大佬们的世界总是那么疯狂。
关于R语言中相关的经验有哪些就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。