R语言学习资源总结
Communication
Starting a Rmarkdown Blog with Blogdown + Hugo + Github (181110)
看了好几篇介绍用blogdown
搭建博客的文章,只有这一篇文章介绍的方法让我成功了。Adding GIF animations (190228; 190311)
介绍了在blogdown
中添加动图和生成动图的方法。Create Multiple Reports with RMarkdown (181129; 190311)
使用Rmarkdown
批量生成报告的教程,测试有效,非常实用。MANY REPORTS FROM 1 RMARKDOWN FILE (190311)
另一篇使用Rmarkdown
批量生成报告的教程,没有实际测试,但应该没问题。Happy collaboration with Rmd to docx (181110)
因为工作中要写的报告基本上都是word文档,而写报告其实主要是在已有框架的基础上修改大量的短语和数字,很让人烦躁,于是就研究了下如何生成(至少半)自动化的word文档。
Concept & History
Explain R environments like I’m five (181110; 190307)
介绍什么是R语言的环境,非常简单易懂。Environments in R (190128; 190408)
介绍了R中的环境和一些相关的内容,对于closure和namespace等概念还是无法理解。stringsAsFactors: An unauthorized biography (181110; 190408)
据说stringsAsFactors
参数问题,是R语言历史上争论最激烈的问题。Why do we use arrow as an assignment operator? (181110; 190409)
介绍了R中使用<-
作赋值符的由来?Here’s why 2019 is a great year to start with R: A story of 10 year old R code then and now (190114; 190410)
回顾了近十年R的发展历程。
Data Acquisition
Web Scraping in R: rvest Tutorial (190103)
爬虫的入门教程,介绍了rvest
包,只能爬静态网页。How to Scrape Data from a JavaScript Website with R (190103)
介绍了一种爬取动态网页(?)的方法,要用到rvest
和PhantomJS
包,我最终没有使用这种方法,因此也没有尝试。Scraping Javascript-rendered web content using R (190103)
跟上面那个好像差不多,也没有去试。Web Scraping with R and PhantomJS (190103)
还是同上。Basics·RSelenium/ (190103)
RSelenium
包的官方网站,这个包可以用来爬取动态网页,我试了这种方法,成功了,其实就是用来模拟鼠标操作的。Data acquisition in R (1/4);
Data acquisition in R (2/4);
Data acquisition in R (3/4) (190114)
介绍了一些数据的获取方法,似乎并不会有第四部分了。R Data Import/Export(190114)
介绍数据导入和导出的文档,内容似乎比较旧,而且很多也用不上,需要的时候可以参考一下。
Machine Learning
Machine Learning Basics (190319)
介绍了机器学习的历史,与深度学习和人工智能的关系,机器学习的原理和基本概念及对未来发展的展望,图文并茂。How to Prepare for a Machine Learning Interview (190313)
介绍如何应对机器学习的面试,后面列了一堆问题,几乎没有会的,但还是希望将来有一天能用上。Feature Engineering (190325)
介绍了特征工程中可以采用的四种方法。Essentials of Machine Learning Algorithms (with Python and R Codes) (190326)
介绍了一些常见的机器学习算法,和使用python和R跑这些模型的思路,以及相关的学习资源。The Curse of Dimensionality in classification (190326)
介绍了变量过多时会产生的过度拟合问题,以及解决办法。虽然用了小猫小狗的图片,但还是没法全看懂。The Most Important Machine Learning Algorithms (190520)
介绍了一些机器学习算法的优缺点。Machine Learning in R for beginners (190103; 190318)
以KNN算法介绍了机器学习的整个流程,简单易懂。最后部分还介绍一下了caret
包。A visual introduction to machine learning (190103; 190318);
Model Tuning and the Bias-Variance Tradeoff (190103; 190318)
系列文章,利用决策树算法对机器学习中的一些概念以及bias和variance之间的权衡进行了介绍,网页做得很酷炫,但跟R没有关系。似乎会有第三部分,但目前还没见到。Introduction to Machine Learning for non-developers (190103; 190318)
利用随机森林算法简单介绍了下机器学习,虽然没有用到R,但最后推荐了一下R。A very basic introduction to Random Forests using R (190103; 190318)
针对iris
数据集通过R对随机森林算法进行了介绍。Random Forests in R (190318)
简单介绍了一点随机森林的理论知识,并附了一个R的实例。Kaggle Bike Sharing Demand Prediction – How I got in top 5 percentile of participants? (190326) 介绍了作者在kaggle上参与竞赛的完整流程。
Machine Learning for Insurance Claims (190328)
使用逻辑回归和xgboost
对保险索赔分别进行了分类和预测,不懂背景知识,好像预测得不咋样啊,不过有个相关的shiny
做的还挺不错的,有时间学习一下。
Onlinebook
R for Data Science (181107)
这本书应该是目前关于R语言数据分析的最好的一本书了,看过两遍,除了太偏向计算机专业和统计学专业的内容,都还好,虽然不建议从这本入门,但真正想学好R,肯定不能错过这本书。The tidyverse style guide (181107)
跟上面的书配套的书,介绍了tidyverse
的代码风格,是在Google’s R Style Guide的基础之上逐渐演变出来了,可以使代码看起来更美观,更有可读性。R Markdown: The Definitive Guide (181107)
系统介绍Rmarkdown
的书,主要是作为参考书,有选择性的阅读某些章节即可(然而我还是完整看了一遍)Handling Strings with R (181108)
介绍字符串处理的书,内容不多,也比较简单。Text Mining with R (181108)
介绍了几种文本分析的技术以及几个案例,我个人比较喜欢的一本书,喜欢文本挖掘的可以看看。blogdown: Creating Websites with R Markdown (181108)
介绍如何用blogdown
包搭建博客的书,然而我并没有通过这本书真正学会怎么搭博客,只是了解到了自己的知识有多么匮乏。An Introduction to Statistical and Data Sciences via R (181108)
介绍了一些统计和tidyverse
包的基本知识,非常简单,适合入门,但目前这本书还没有完成。Data Visualization with R (181108)
介绍了很多种图形的绘制方法,非常实用,如果早看到这本书,很多地方都不用我自己去研究了,强烈推荐。Data Visualization: A practical introduction (181108)
挺久以前看的了,当时还没有完成,而且以前似乎不是叫现在这个名字。感觉没有上面那本书好,但有一章介绍了一些绘图的理论,值得一看。R Programming for Data Science (181112)
两年前的书,部分内容已经过时了,但帮我补充了很多诸如Vectorized Operations,Lazy Evaluation,Scoping Rules的知识,另外也让我找到了之前想了很久都没想起来的dput
函数。Exploratory Data Analysis with R (181130)
跟上面那本书是同一个作者,部分内容有重叠,虽然主要以Base
绘图为主,但也介绍了ggplot2
的一些内容,值得一看;另外,还有几章介绍了层次聚类、K均值聚类以及降维,基本上是没看懂。bookdown: Authoring Books and Technical Documents with R Markdown (190128)
bookdown
的文档,我应该是用不上,随便看看。bookdown: Authoring Books and Technical Documents with R Markdown (190128)
用bookdown
写的书都会发布在这里,这一模块的大部分书都能在这里找到。R in Action, Second Edition (190221)
《R语言实战》英文第二版的在线版,可以免费看。Mastering Software Development in R (190313)
介绍如何使用R进行开发的书,前两章主要讲了使用R编程的相关知识,后面两章分别介绍了如何使用R开发包和制图工具。很有启发性的一本书,之前不知道该如何实现的一些内容,现在有点思路了,但书中的内容很多都是点到即止,深入学习需要看更专门的书。Fundamentals of Data Visualization (190413)
人家手里的Aesthetic,才能称得上是Aesthetic啊!Purrr tutorial (190418)
purrr
包的教程,主要事实际的例子,所以有些重复的地方。
Program
A Tutorial on Loops in R - Usage and Alternatives (190128)
介绍了R
中的几种循环,包括for
循环、while
循环以及repeat
循环,这也是头一次知道R
里还有个repeat
循环。Writing better R functions part one (190221);
Writing better R functions part two (190221);
Writing better R functions part three (190221);
Writing better R functions part four (190221) 通过一个实例,介绍了创建函数和完善函数的完整过程。看到第二部分就有点跟不上了,还是要通过自己的实际操作来掌握这些内容。Adding strings in R (190303)
通过编写一个用于连接字符的+
函数,引出了很多有意思(而且看不太懂)的话题。
Tidyverse
Getting Started with the Tidyverse: Tutorial (181108)
简单介绍了一下tidyverse
包中的几个主要函数,没啥难度,部分内容需要翻墙才能看到。Pipes in R Tutorial For Beginners (181108)
介绍了几种常见的管道函数(其实一种就够了),像我一样喜欢把代码都串起来的应该好好学学这个。Data Wrangling Part 1: Basic to Advanced Ways to Select Columns;
Data Wrangling Part 2: Transforming your columns into the right shape;
Data Wrangling Part 3: Basic and more advanced ways to filter rows;
Data Wrangling Part 4: Summarizing and slicing your data (181108)
系统介绍dplyr
包的系列文章,非常值得一看。TIDYING MESSY EXCEL DATA (TIDYXL) (190128)
介绍了几种清洗excel数据表格的包。
Website
Statistical tools for high-throughput data analysis (181108)
看过可视化那部分,介绍ggplot2
包的内容规范而细致,适合入门。stat545 (181108)
一系列文章的汇总,体系有点乱,但内容还不错,记得正则表达式就是在这里学会的,对我帮助挺大。Cookbook for R (181208)
很早就知道的一个网站,但最近才完整看了一遍,除了ggplot2
部分,都比较旧了,但有一些自编函数的例子,需要时可以参考一下。Data Analysis and Visualization in R for Ecologists (190114)
一个简单但实用的R教程网站,跟生态学好像也没啥太多的关系,有一部分数据库的内容还挺适合我的。
Visualization
Basic
Beautiful plotting in R: A ggplot2 cheatsheet (181110)
非常不错的一个ggplot2
基础教程,如果有不知道该如何实现的地方,可以来这篇文章查一查。Under the hood of ggplot2 graphics in R (181110)
上面那篇文章的作者的另一篇文章,没怎能看懂,先放着吧。The Complete ggplot2 Tutorial - Part1 | Introduction To ggplot2 (190619)
介绍了ggplot2
绘图的一些基本知识,比较有用的地方在于给出了取消科学记数法的方法以及对比了两种不同的坐标值数值limit。The Complete ggplot2 Tutorial - Part 2 | How To Customize ggplot2 (190619)
上面那篇文章的第二部分,较为系统的介绍了如何定制ggplot2
统计图。
Collection
the R Graph Gallery (181114)
汇总了很多可以用基础绘图工具和ggplot2
绘制的图,附有相应的代码,可以说是非常棒的一个网站了。[How to Pick the Perfect Color Combination for Your Data Visualization] (https://blog.hubspot.com/marketing/color-combination-data-visualization) (190629)
介绍了几个给统计图配色的网站。
Common Plots
Pretty histograms with ggplot2 (181113; 190306)
使用ggplot2
绘制直方图的一个简单例子,同时介绍了针对连续性变量的颜色使用方法。Pretty scatter plots with ggplot2 (181113; 190516)
介绍了散点图的绘制方法,值得学习的地方是提供了一种透明图的映射方法。Exploring ggplot2 boxplots - Defining limits and adjusting style (190306)
非常详尽的箱线图绘制教程,不仅介绍了如何使用ggplot2
绘制箱线图,还提供了很多针对图形进行调整的技术细节,值得仔细钻研一番。Bump Chart (181110; 190516)
介绍了一种叫Bump Chart的折线图画法,顺便提到了如何把国旗映射到图中。Label line ends in time series with ggplot2 (181110; 190516)
利用sec.axis
参数给折线图的终点处贴标签,这个方法应该还有其他的用处。
Extension
ggplot2 extensions (181113)
介绍了基于ggplot2
的一些扩展包。htmlwidgets for R (181113)
R的一些可视化方面(也不全是)的扩展包。googleVis examples (181114)
gppgleVis
包的例子介绍,这些图都很漂亮,有时间一定要研究一下这个包。setting ggplot2 background with ggbackground (181110)
给ggplot2
作的图加个背景。PUTTING THE CAT IN SCATTERPLOT (181113)
把猫的图片放进了散点图里,挺有意思。I made a 3D movie with ggplot2 once - here’s how I did it (181113)
没有标题说的那么夸张,只是做了个3D动图(然而也很厉害了)。Tao of Tidygraph (181114)
使用tidygraph
包对一本名为Tao Te Programming的书进行了network analysis,可惜这本书并不能免费获得。[Infographic-style charts using the R waffle package] (https://nsaunders.wordpress.com/2017/09/08/infographic-style-charts-using-the-r-waffle-package/) (190629)
用waffle
包绘制信息图。
Map
Bitcoin (World Map) Bubbles (181114; 190509)
一张关于比特币网络的非常漂亮的地图。Three ways of visualizing a graph on a map (190509)
介绍了几种在R中绘制地图的方法,主要是利用ggraph
解决了分别设定曲线和点的大小的问题。Drawing beautiful maps programmatically with R, sf and ggplot2 — Part 1: Basics (190714)
Drawing beautiful maps programmatically with R, sf and ggplot2 — Part 2: Layers (190714)
Drawing beautiful maps programmatically with R, sf and ggplot2 — Part 3: Layouts (190714)
系列文章,介绍了如何使用ggplot2
和sf
包绘制地图。
Modification
Ordering categories within ggplot2 facets (181110; 190516)
解决了分面后的柱形图的排序问题。Customizing time and date scales in ggplot2 (181110; 190516)
较详细地讲解了坐标轴上时间标度的设置,也可以迁移到其他类型的标度。How to combine point and boxplots in timeline charts with ggplot2 facets (181113; 190306)
利用分面把折线图+散点图与箱型图同时呈现在一起。You Need to Start Branding Your Graphs. Here’s How, with ggplot! (190516)
介绍了如何在数据分析图中添加图片,如公司logo。Coordinate systems in ggplot2: easily overlooked and rather underrated (190516)
介绍了ggplot2
中的坐标系统,最后有折线图转换成雷达图的方法。Adding different annotation to each facet in ggplot (190714)
给分面后的图加注释。
Theory
10 tips for making your R graphics look their best (181113; 190511)
很老的文章了,但有几条tips还是很有用的。Visualizations That Really Work (190511)
介绍了可视化的四种类型,并举了相应的例子。非常棒的文章,等水平提高后再看一下,应该会收获更多。