我的R语言学习方法
专题介绍:R是一种广泛用于数据分析和统计计算的强大语言,于上世纪90年代开始发展起来。得益于全世界众多 爱好者的无尽努力,大家继而开发出了一种基于R但优于R基本文本编辑器的R Studio(用户的界面体验更好)。也正是由于全世界越来越多的数据科学社区和用户对R包的慷慨贡献,让R语言在全球范围内越来越流行。其中一些R包,例如MASS,SparkR, ggplot2,使数据操作,可视化和计算功能越来越强大。R是用于统计分析、绘图的语言和操作环境。R是属于GNU系统的一个自由、免费、源代码开放的软件,它是一个用于统计计算和统计制图的优秀工具。R作为一种统计分析软件,是集统计分析与图形显示于一体的。它可以运行于UNIX、Windows和Macintosh的操作系统上,而且嵌入了一个非常方便实用的帮助系统,相比于其他统计分析软件,R的学术性开发比较早,适合生物学和医学等学术学科的科研人员使用。
【R语言】已开通R语言社群,五湖四海,天南地北,各行各业,有缘相聚,共享R事,雕刻数据,求解问题,以创价值。喜乐入群者,请加微信号luqin360,或扫描文末二维码,添加为好友,同时附上R-入群。有朋自远方来,不亦乐乎,并诚邀入群,以达相互学习和进步之美好心愿。
通过运营R语言公众号,认识了各行各业在学习和使用R语言的朋友们。经常会遇到这些问题:
-
我是R新手,要怎样学习R语言?
-
我要学习R语言,需要学习那些内容?
-
王老师,R语言学习,有什么书籍或者视频推荐和分享吗?
等等。
关于R语言的学习,我想分享一下几点内容:
第一点,我们按着下图的【黄金圈法则】问下自己。
1)为什么要学习R语言,即学习R语言的目的和动机
2)怎么学习R语言,即学习R语言举措和行动
3)要学习R语言的什么,即学习的结果和成果
给大家一分钟时间,大家可以思考一下,可以把答案在后面留言或者进入R语言公众号,加入群,一起讨论。
我说一下自己的Why-How-What。
我为什么要学习R语言?利用R语言做数据分析的工作;我怎么学习R语言?在快速学习R语言基础后,采用边学边做,不断强化的策略学习和应用R语言;我学习R语言的什么,我主要学习了R语言做数据整理,数据分析、数据建模和数据可视化这四方面的内容,并且对帮助我有效完成数据工作非常有帮助。
第二点,我谈一下自己在学习R语言的具体方法和做法。
我在学习新东西之前,我都会先去从宏观上面认识它。切换到R语言。
我会问自己,R语言是什么?R语言能够做什么?R语言有什么特色?R语言擅长做什么?R语言不擅长做什么?我们需要做的就是充分地挖掘和利用R语言的优势,把它转化为自己学习和工作利器,灵活用之。
接下来,我就会快速地去了解R语言的基础知识,我会找一本小册子快速地翻阅,当然,会马上动手实践,果断搭建R语言学习和工作的环境。
快速了解R语言的小册子,可以阅读《An Introduction to R 》。书籍可以直接在R语言官网上面找到和下载,如下图所示。
若是找不到书籍的朋友,可以给我留言,我会进一步指导和帮助你。
接下来,我花时间认真阅读《R in action》这本书籍,这个书籍已经出版第二版了。它系统而全面的介绍了R语言的许多内容,可以按着数据分析工作流的线索,展开相应模块的学习,包括R语言基础知识、数据导入、数据整理、数据可视化、相关模型(统计类模型和机器学习模型)等知识。建议朋友们阅读原著,英文版第二版。不仅可以学习R语言的知识,还可以复习英语的知识。英语的重要性,相比大家都懂得。
这本书籍的英文电子书和相应配套代码,我这边有。若是朋友们找不到,可以跟我联系。
后面的学习,就是不断地进行“做中学,学中做”。具体表现,把自己手头的数据处理工作和分析工作,使用R语言来完成,并且在完成的过程中,不断地总结与复盘,同时,发现自己欠缺地地方,继续通过搜索、书籍、讨论的方式进行解决。在这个实践的过程中,我提倡一种“代码学习法”,即通过Review他人的优秀代码,做学习和借鉴,并做知识迁移,应用到自己手头上面实际数据问题,解决自己的工作,并且让自己成长和逐渐地可以帮助他人。
举例说明
我想说学习ggplot2做条形图,我们可以检索关键词
ggplot barplot
我们打开找到的第一个链接:
http://www.sthda.com/english/wiki/ggplot2-barplots-quick-start-guide-r-software-and-data-visualization
我们就可以看到创建基础的条形图的示例,代码示范如下:
df <- data.frame(dose=c("D0.5", "D1", "D2"),
len=c(4.2, 10, 29.5))
head(df)
library(ggplot2)
# 创建基础条形图
# 也就是我们熟悉的柱形图(垂直的条形图)
p<-ggplot(data=df, aes(x=dose, y=len)) +
geom_bar(stat="identity")
p
# 绘制水平的条形图
p + coord_flip()
我们复盘这些代码后,就知道了基本的垂直条形图和水平条形图,应该怎么设计和构建了。
上述代码的结果如下图所示:
至于条形图的修饰和美化,我们可以继续学习相关的内容,从而让我们的图形更有有效地表达信息,真正地实现“一图胜千言”的目的和效果。
最后,R语言的学习如同R语言的生态一样,建议多和R语言的朋友们交流和讨论,相互学习,共同成长。R语言公众号,构建了一个R语言学习和成长的共同体。R语言朋友们可以一起参与进来,我们一起学好R语言、用好R语言。
关于R语言的学习,有什么问题或者想法,可以扫描我的微信号,备注“R-入群”。我会邀请你加入R语言群,咱们一起讨论与学习。
👇👇👇👇👇
R书籍推荐
-
数据科学实战
公众号推荐
数据科学与人工智能
数据科学与人工智能公众号推广Python语言,数据科学与人工智能的知识和信息。扫码下方二维码关注我,一起学习Python语言和数据科学与人工智能。
请关注“恒诺新知”微信公众号,感谢“R语言“,”数据那些事儿“,”老俊俊的生信笔记“,”冷🈚️思“,“珞珈R”,“生信星球”的支持!