谈谈如何学习R语言基础教程

谈谈如何学习R语言

一、谈谈R语言的历史

R语言的前身是S语言,那么S语言又是什么呢?S语言是由贝尔实验室开发出来的一种用来进行数据探索、统计分析、数据可视化的一门解释性语言。

R语言由新西兰奥克兰大学的Ross Ihaka和Robert Gentleman两人共同发明,由于二者名字中都以R开头,所以这门语言就被命名为R语言了。顺便再提一个对R语言有着突出贡献的人,统计学家哈德利·维克汉姆(Hadley Wickham),如果没有他,绝对不会有R语言蓬勃发展的如今。维克汉姆是 RStudio 的首席科学家,也是斯坦福大学奥克兰分校的副教授,因对R语言的突出贡献,于2019年已获得统计学中的诺贝尔奖–“考普斯会长奖”

R语言由来的趣闻,仅供参考。

image-20210409215444330

二、R语言的现状和前景

当你看到R语言的这篇文章,我可以告诉你,R语言的发展是喜人的,近些年,R语言在统计、金融、生信等领域有了长足的发展。

依然记得谷歌一位大佬说,未来10年,最吃香的专业会是统计学,我深信不疑。(忘记是谁说的了,但是我保证有位谷歌大佬说过这句话:)

大数据、人工智能时代的到来,给R带来了新的机遇。

如果你想看下R语言的现状,可以参考下图。

可以看到,前10名中,R排在第八位。

image-20210409214758776

二、Python 和R的对比

仅以个人的使用感受,做个简单对比。

  1. 语法:我个人以前用从Java到使用Python,觉得Python还是蛮简洁的,自从我用了R,我就觉得Python真的是非常简洁啊,没有对比就没有伤害。我对Python的赞美就不在这多说,但是我对R的吐槽,是真的挺多的,各种看起来非人类的语法,我可以说Python说完胜。

  2. 优势:

    2.1 在数据科学这个领域,以前的R是被Python摁在地上,自从上面那位R语言大神,哈德利.维克汉姆推出了tidyverse系列的包,让R在数据科学领域,有了与R一较高下的实力。

    2.2 在机器学习、深度学习领域,更加没得说,Python拥有目前最完善的各种机器学习包,这是R所不能比的,但是R在近些的发展中,在这个领域也出来了一些比较不错的机器学习包,正在迎头赶上。

    2.3 大数据、工业部署方面,这个方面就不多说了,R对比Python,就是弟弟。不过在大数据领域吧,R也还是有发展,Hadoop,Hive,Spark等相关软件,纷纷开发了适用于R的接口。

    2.4 统计方面,这方面是R的核心大本营,R语言最初就是统计学家开发的,所以R的社区中,有着非常多的统计学家开发的R包,如果你有在统计方面领域的需求,基本都能在R中找到相对于的包,这方面,Python是远不及R的。

    2.5 可视化方面,这方面也是R的长处,ggplot2包,作图能达到专业级别的水准,Python中的库也不弱,matplotlib,seaborn,pyecharts等等。但是总得来说,R语言再可视化方面,要略胜Python一筹。

  3. 如何选择?

    如果你是统计学或者生信这个领域的,R绝对是必学的。

    如果你是做数据科学领域的,R绝对是你的必备技能之一,相信我,不然我也不会学R了。

    左手Python,右手R,小孩子才做选择,成年人选择都要 :)

三、我对R的感受

R语言?臭豆腐罢了,初学时闻起来臭,学好了吃起来香的那种。

R语言的社区非常活跃,有着非常多的开发者在贡献着各种包,但是每个人的开发水平都是良莠不齐的。所以这也导致了R语言各种包和函数的混乱。可以说,这绝对是阻碍R发展的绊脚石之一,它给初学者带来了非常多的困扰。并且很多包,也许你还在书上看到过,但是现在已经过时了,你再学习它,也只是增加学习难度。所以,初学者在学习R的时候,最好找到现在大家都普遍使用的包,在各个领域具有奠基性的包。比如,数据处理领域,可以学习tidyverse系列,可视化方面,ggplot2非常不错。这些包,都是经过了众多学习者考验的包,所以意味着你在碰见问题出错时,寻找问题时,可以在百度上找到更多的资料作为参考。

我也根据我的学习感受,给初学R的朋友做个推荐吧。

R语言的基础教程:可以参考《R语言编程艺术》,简简单单319页,先把R的基础学完,可参考下图。

R语言数据处理:学好tidyverse系列的包,基本就差不多了,我会在下面的章节推荐。

image-20210409224357139

四、学习R的资源

1.《R语言编程艺术》,

​ 推荐理由:学R基础教程不可多得的一本好书,干净利落的那种,非常适合快速入门R语言基础教程的人。

  1. 李东风老师的网站:https://www.math.pku.edu.cn/teachers/lidf/docs/Rbook/html/_Rbook/

    推荐理由:看这域名,我想就不用多解释太多了吧,李东风老师是北大统计系副教授,他所编写的本书,所有的操作教程,基本都是与时俱进的,包括常用的包,可以说是非常新且全面的教程了,而且,配有数据练习,非常nice.

  2. 知乎:张敬信老师个人主页:https://www.zhihu.com/people/huc_zhangjingxin

    推荐理由:如他的主页介绍一样:高校数学教师,热爱学习,热爱编程

    还在愁学R语言的路上没有老师?跟上张老师的步伐,你将收获一位非常nice的R语言老师。

  3. 《R语言实战 第二版》

    推荐理由:R语言书籍中的,圣经,圣经你懂得吧?书绝对是本好书,会跟你讲非常多的细节,但是书中也有很多落伍的包啊,函数的啊什么的,你学了可能也是浪费时间的那种,不过用来作为一本查漏补缺书还是不错的,我之所以不在开头推荐它就是因为它太大了,560页,涵盖各个方面,学习曲线将会非常陡峭。

五、关于学习编程的建议

  1. 动脑子思考,你为什么要学这门语言,它是你职业生涯中的一环吗,还是因为脑子一热呢。
  2. 在学习一门语言之前,先了解了解这门语言的发展,优缺点,适用领域。
  3. 要有学习目标,多听取大佬给的学习路径的建议,会让你少走很多弯路。
  4. 学会找资源,百度,微信,知乎,B站,都是好地方,人与人的差别往往体现在资源的掌控方面。
  5. 学会给自己营造一种学习氛围,比如经常浏览相关内容,以及加入相应的学习群,吹牛逼灌水的那种就别进去了。
  6. 学会解决编程中的常见错误,怎么解决?先查看报错信息,如果你没遇见过这种错误,先检查相应的知识点和代码,如果还是不会,就把报错信息中的关键部分放到百度中去搜索,如果实在找不到答案,就把完整报错信息,以及数据,放到学习群中,说“有没有大佬能帮帮我呢,万分感谢!”,别问“有会R语言的大佬在么”这种蠢话,高效提出问题,往往是高效解决问题的第一步。你解决的每一个问题,都是你进步的阶梯。
  7. 脸皮子要厚,在群里多问,以及给大佬发私信询问建议,这绝对不是坏事。发不发是你的事,别人回答不回答是他的事,发了对你没一点坏处,相反,一旦得到回复,可能对你的帮助将会非常巨大。
  8. 代码、知识点经常回顾,才能抵抗遗忘。不敲代码只看资料或者视频的做法,是最愚蠢的做法。
  9. 学会做人,学会感恩,学会制造彩虹屁。不要一有问题就艾特别人,别人解答完之后,一句谢谢都没有,下次有问题再问别人,别人可能就不会鸟你了。
  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值