学了Python后可以不学R语言吗?Python和R该如何取舍?

本人应用统计(专硕)研究生,本科阶段主修数学(接触过matlab),辅修计算机(接触了C、数据结构);由于本科毕业论文的需要,选修并自学了SQL,对E…
关注者
126
被浏览
211,144

31 个回答

去年的项目同时用到了R和Python,这个项目主要分析气功对于人体的影响,一共有两部分的数据,一部分是非结构性数据,比如这样的日志文件,类似于写日记去记录自己的感受。

另一部分是结构化数据,类似于一个班级的名单,有名字、人员ID(学号)、性别、年龄等等,可以看到这些数据是整理的非常有条理的,并且这些内容都可以进行分类并用数字或者字母来代表。举个例子,男:1,女:2。

那么我们主要就是利用这些数据来分析练习气功到底对人体有什么作用,这个作用靠谱吗?


数据分析的大部分工作是由我来完成的,我是这样分配的。

对于非结构化数据,也就是那些日志类数据,我是用的python,因为我主要拿它来做情感分析,这部分属于机器学习的NLP部分,而python对于机器学习更为擅长。

对于结构化数据,我选择了R,因为R在统计方面确实更厉害,当然了,最主要的原因是项目负责人用的是R,否则我还得用python重构,所以我也不得不花了点时间学习了下R。

用过R之后,发现它在统计方面和作图确实是比较厉害。统计就不用说了,这就是它最强大的地方,其次就是作图,我主要用的是ggplot2这个库。

至于学了python需不需要R,我觉得这个真的看你的需求,如果你的项目没有必须要用R,那么python也是足够的,因为R有的包,一段时间之后Python也会有。而python是个万金油的语言,几乎所有的方面它都有不错的库,以下方面仅仅是一部分。


另外还有几个方面可以参考:

目标人群:

Python:

深入研究数据分析或应用统计技术的 程序员 以及转向数据科学的开发人员和程序员。Python是一种 可用于生产 的语言,这意味着它能够成为一种与工作流的每个部分集成的单一工具!

R:

主要用于 学术研究 ,对于 探索性数据 分析非常有用。近年来,企业使用范围迅速扩大。没有计算机编程技能的统计学家、工程师和科学家。它在学术界、金融界制药、媒体和营销很受欢迎。


优点:

Python:

  • 它通用编程语言不仅仅是数据分析,其他方面也很强。
  • 可以直接用的代码很多
  • 非常适合数学计算学习算法
  • 具有高度易部署性和再现性。

R:

  • 可以制作很漂亮的图形和易于可视化
  • 具有许多数据分析功能
  • 非常适合统计分析
  • 围绕命令行构建,但大多数R用户在RStudio运营R代码,可以理解为跟vs code一样的编辑器

缺点:

Python:

统计方面的库不如R多

作图方面弱于R

R:

  • 发明者是统计学家,学起来可能不那么的舒服
  • 社区不如python发达,包有但是不一定好找
  • R的运行速度很依赖于代码写得好不好
  • 机器学习,特别是深度学习、NLP这类不如Python流行


总结

至于你最后面学不学R语言,我觉得看完上述这个应该会有大致的了解。

那么如果你还没学python或者R任意一个,我建议你先学python,具体的学习方法可以参考这个回答:

对于大多数人来说,我其实是推荐把数据分析当做一个方向来学的,首先python的优势就在数据处理分析与人工智能。

人工智能的从业门槛很高,自学基本上属于纯玩,性价比不高。

数据分析处理,我觉得是未来各行各业都可能碰到的问题,虽然现在有很多自动化数据处理工具,但是毕竟通用的场景并不多,而那些熟悉某个特定行业领域+数据处理能力的复合型人才就相对可能更吃香。

这里有一门知乎知学堂出品的数据处理精品课程,对于在本职工作之外想要学习一门实用技能的同学,建议免费体验一下,记住,那这个找工作很难,属于锦上添花的技能。

当然了如果已经学了python,那么需要用到R的话,硬着头皮也得学。那下面这个入学回答说不定可以帮到你。