哈喽大家好,我是不秃头的。今天我们来讲讲关于编程语言-R语言跟Python到底学哪个好?
R跟Python都是编程语言,也是目前数据处理这块比较热门的语言,有小伙伴之前问我这2种语言到底哪个好,学哪个能一劳永逸,其实不管是什么语言,他都有优缺点,到底学哪个主要看你的需求,另外还要看你的兴趣、精力和时间。
我在这2个软件上其实都是菜鸟,因为确实用到的不多,遇到的统计问题大部分用SPSS点点菜单就完成了,另外也没太多精力去天天学编程,毕竟还有很多临床的书和知识要去学习,时间全放在科研上是不合适的,但是有时间闲下来的时候我还是会去学一点的。
Python和R这2个都拥有庞大的用户支持。2017年的调查显示,近45%的数据科学家使用Python作为主要的编程语言,另一方面,11.2%的数据科学家使用R语言。从数据上来看,Python用的人可能更多。
Python由Guido van Rossum发明,于1991年首次发布。Python 2.0于2000年发布,8年后Python 3.0发布。Python 3.0有一些主要的语法修正,与Python 2.0不兼容。但是,2to3等Python库可以在两个版本之间自动的转换。Python 2.0计划在2020年停止使用。
官网:
https://www.python.org/
R语言由Ross Ihaka和Robert Gentleman于1995年发明。R语言最初是由S语言的一种实现,后者由John Chambers于1976年发明。R语言首个稳定的测试版本1.0.0于2000年发布。目前,由R开发核心团队维护,会不定期更新版本。
官网:
https://www.r-project.org/
Rstudio官网:
https://www.rstudio.com/
下面是总结的2者之间的共同点和差异
共同点:
1. Python和R都是免费的,是自由、开放源码的软件,在官网可以免费下载,使用者可以自由地发布这个软件的拷贝、阅读它的源代码、对它做改动。
2. Python和R两门语言都有多平台适应性,linux、windows、mac都可以使用,并且代码可移植性强
3. Python和R在数据分析方面都有比较专业和全面的模块,很多常用的功能,比如矩阵运算、向量运算等都有比较高级的用法。
4. Python和R都比较贴近MATLAB以及minitab等常用的数学工具
区别
Python的优势:
1. Python 包含比R更丰富的数据结构来实现数据更精准的访问和内存控制,大多数深度学习研究都是用python来完成的。
2. Python与R相比速度要快。Python可以直接处理上G的数据;R不行,R分析数据时需要先通过数据库把大数据转化为小数据(通过groupby)才能交给R做分析,因此R不可能直接分析行为详单,只能分析统计结果。
3. Python优于R的另一个优势是将模型部署到软件的其他部分。Python是一种通用性语言,用python编写应用程序,包含基于Python的模型的过程是无缝的。
4. Python是一套比较平衡的语言,各方面都可以,无论是对其他语言的调用,和数据源的连接、读取,对系统的操作,还是正则表达和文字处理,Python都有着明显优势,尤其在计算机编程、网络爬虫上更有优势。
R语言的优势:
1. R在统计分析上是一种更高效的独立数据分析工具。在R中进行大量的统计建模研究,有更广泛的模型类可供选择,如果你对建模有疑问,R是最合适的。
2. R的另外一个技巧就是使用Shiny轻松地创建仪表盘,Python也有Dash作为替代,但是不够成熟。
3. R的函数是为统计学家开发的,因此它具有特定领域优势,比如数据可视化的强大特性,由R Studio的首席科学家Hadley Wickham创建的ggplot2 如今是R历史上最受欢迎的数据可视化软件包之一。ggplot2允许用户在更高的抽象级别自定义绘图组件。我个人非常喜欢ggplot2的各种功能和自定义。ggplot2提供的50多种图像适用于各种行业。
这2个语言你如果有时间都能学会是最好的,不过我觉得可能大部分人没有那个时间和精力,对于医学生来说,如果是搞科研的话掌握R语言可能就足够了,因为大部分时间我们都是处理统计的问题,而R语言在这块是比Python更专业的。当然,如果你需要做更复杂、更高级别的数据分析,比如深度机器学习这些,那么可能就需要去学Python了。