软件包生态系统和图形是它的强项,但是它的安全级别和内存管理是它的弱项。R编程语言已成为数值分析和机器学习领域的重要工具。随着机器越来越成为中央数据生成器,该语言的流行度必将上升。然而,R语言当然有其自身的优势和劣势。开发者只有了解了它,才能充分发挥其强大的能力。正如Tiobe、PyPL和Redmonk等编程语言流行度排名所指出的那样,R正在迅速获得关注。作为一门诞生于1990年代的语言,R已经成为S统计编程语言的一类实现。拥有18年R编程经验的大学教授、Coursera在线平台培训师RogerPeng指出“R语言已经成为统计领域最受欢迎的语言选择”。“我喜欢R的地方在于它很容易从计算机科学的角度进行编程,”Peng说。Peng解释说,然而,随着时间的推移,R作为一种可以将不同的数据集、工具甚至软件包绑定在一起的胶水语言正在获得发展势头。“R语言是创建可重现和高质量分析的好方法。它具有数据处理所需的所有灵活性和强大功能,”在线编程教育机构CodeSchool的数据科学家MattAdams说。“我用R语言写的大部分程序,其实都是把各种脚本组织成项目。”R语言具有强大的包生态系统和图形化优势R语言的优势主要体现在它的包生态系统上。“庞大的包生态系统无疑是R最突出的优势之一——如果存在一种统计技术,那么几乎肯定存在适用于它的R包,”Adams指出。“专门为统计人员内置了许多有用的功能,”彭说。R语言具有可扩展性和丰富的功能选项,可以帮助开发人员构建自己的工具和方法,顺利实现数据分析,他进一步解释道。“随着时间的推移,越来越多来自其他领域的用户也被吸引到R”,从生物科学到人文学科。“人们可以在不征求许可的情况下扩展它。”事实上,Peng回忆说,多年前R的使用方式给相关工作带来了极大的便利。“R语言刚诞生的时候,它最大的优势就是以自由软件的形式出现,它的源代码什么的,我们都可以直接看到。”Adams还说R语言的一切在图形和图表方面都可以是“***”。它的dplyr和ggplot2包,分别用于数据处理和绘图,“以一种非常直观的方式改善了我的生活,”他感叹道。Adams说,在机器学习方面,R的优势在于它与学术界的强大协同作用。“该领域的任何新研究成果都可能立即以R软件包的形式体现出来。因此,从这个角度来看,R语言一直站在技术发展的前沿,”他说。“这个接入软件包也可以提供一个很好的途径,帮助我们在R语言环境下以相对统一的API实现机器学习研究。”Peng进一步补充说,已经有很多主流的机器学习算法是用R语言实现的。方法。R的短板在于安全和内存管理。说了这么多优点,R语言当然也有一些缺点。“内存管理、速度和效率可能是R面临的一些最严峻的挑战,”Adams指出。“仍有工作要做——而且确实正在被推动——以推进和完善它。此外,从其他语言转向R的开发人员会发现它在某些方面有点古怪。“R语言的基本原理来自于1960年代出现的各种编程语言,彭解释说。“从这个意义上说,R语言在设计思想上是一项古老的技术成就。他强调说,这种语言有时会使处理大规模数据集变得困难。这是因为数据必须保存在物理内存中——随着计算机内存容量的不断增加,这个问题在很大程度上已经得到解决,Peng指出.安全和其他相关功能没有内置在R语言中,Peng指出,此外,R语言不能嵌入到网络浏览器中,Peng说,“我们不能用它来开发类Web或类Internet应用程序。”此外,我们基本上不能使用R语言作为后端服务器来执行计算任务,因为它缺乏网络级别的安全保证,”他说。不过,亚马逊网络服务云平台上虚拟容器等技术方案的出现,很大程度上解决了此类安全隐患,彭补充道。他说,长期以来,R语言中一直缺乏足够的交互元素。但以JavaScript为代表的各种编程语言介入并填补了这一空白,Peng指出。他总结说,虽然我们仍然需要使用R语言来处理分析任务,但最终结果的具体展示可以通过JavaScript等其他语言来完成。R不仅适用于高端程序员,而且Adams和Peng都将R视为一种易于访问的语言。“我自己没有接受过计算机科学教育,而且我从来没想过要成为一名程序员。掌握编程基础知识固然不错,但这并不是开始使用R的必要条件,”Adams指出。“我什至不认为R只适合程序员。它非常适合面向数据并试图解决问题的用户——无论他们的实际编程技能如何,”他强调说。原标题:为什么是R?R语言的优缺点
