R语言学习:R4DS学习交流、数据汇总、数据子集获取、Rmd学习
2021年第40周。
这一周R语言学习,记录如下。
01
R4DS学习交流群
我创建了R4DS学习交流群,以R4DS书籍为基础,聚焦于R语言做数据科学的任务。
想进群的伙伴,可以添加我的微信,备注:R4DS。我诚邀你入群,与大家交流和讨论,相互学习。
02
R4DS第二章 工作流:基础
1 内容结构
1)编码基础知识
R语言做为计算器工具
R语言赋值操作
2)命名的知识
3)调用函数的知识
2 目标管理
1)掌握赋值操作
2)掌握正确命名的规则
3)理解函数的调用
3 实操代码
# R扮演计算器功能
1.01 ^ 365 # 每天进步一点点
0.99 ^ 365 # 每天退步一点点
(1.01 ^ 365) / (0.99 ^ 365) # 失之毫厘 谬以千里
# R语言赋值操作
# 快捷键:Ctrl + -
my_name <- "R语言学习小王"
# 查看函数帮助文档
?seq
# 函数调用
seq(from = 1, to = 10)
4 结果展示
03
数据汇总操作
dplyr包的summarize函数。
# 数据汇总操作
library(dplyr)
# 使用内置的数据集iris
iris %>% glimpse()
# 观察萼片长度的均值和标准差
iris %>% summarise(
Sepal_Length_Mean = mean(Sepal.Length, na.rm = TRUE),
Sepal_Length_Sd = sd(Sepal.Length, na.rm = TRUE)
)
结果输出
04
从数据框获取数据子集的5种方法
1 方法指南
1)使用中括号获取我们想要的行和列
2)使用中括号忽略我们不需要的行和列
3)使用中括号并结合which函数和 %in%操作
4)使用subset函数
5)使用dplyr包的filter函数和select函数
2 实操代码
# 数据导入
education <- read.csv("https://vincentarelbundock.github.io/Rdatasets/csv/robustbase/education.csv", stringsAsFactors = FALSE)
colnames(education) <- c("X","State","Region","Urban.Population","Per.Capita.Income","Minor.Population","Education.Expenditures")
View(education)
# 从数据框获取数据子集的5种操作
ed_exp1 <- education[c(10:21),c(2,6:7)]
ed_exp1 %>% View
ed_exp2 <- education[-c(1:9,22:50),-c(1,3:5)]
ed_exp2 %>% View
ed_exp3 <- education[which(education$Region == 2),names(education) %in% c("State","Minor.Population","Education.Expenditures")]
ed_exp3 %>% View
ed_exp4 <- subset(education, Region == 2, select = c("State","Minor.Population","Education.Expenditures"))
ed_exp4
library(dplyr)
ed_exp5 <- education %>%
filter(Region == 2) %>%
select(c(State,Minor.Population:Education.Expenditures))
ed_exp5 %>% View
05
用R语言学习数据科学
这本书是为数据科学初学者准备的。
它包括R语言、画图、机器学习和实操项目。
内容结构
1)基础部分
学习基础,R语言、统计学和数学
编程语言是数据科学的一个支柱
统计学和数学可以帮助理解数据和模型
2)转换和探索性数据分析
学习转换和分析数据
创建视觉上让人舒服的柱状图,折线图,热图和散点图。包括了许多实际例子。
数据可视化有助于分析数据和分享想法。
3)机器学习
探索一些机器学习算法
包括决策树、随机森林、线性回归。
学习如何准备和评估模型,以及讨论各种机器学习算法的优缺点。
关于作者
Narayana Nemani是首席数据科学家。他参与了数据科学的教学和研究。他在Quora上写文章,还参加Kaggle比赛。
获取书籍
给R语言公众号发送消息202140查看书籍获取方式。
06
RMarkdown学习和应用
1 RMarkdown是什么?
2 输出格式
RMarkdown成功执行后,支持输出多种格式,比方说HTML、PDF、Word。
推荐使用默认的HTML格式,原因有4点。
1)方便分享,只要有浏览器的地方,就可以查看HTML的内容。
2)灵活性强。
3)样式齐全。
4)可定制性,使用CSS 做进一步定制。
3 创建Rmd文件
1)RStudio新建一个项目
2)在项目里,File > New File > R Markdown
如下图
输入Title、Author,默认选择输出格式HTML。
点击OK,创建了Rmd文件。
执行Rmd快捷键:Ctrl + Shift + K
4 Rmd学习方法
1)阅读R4DS第27章的内容 R Markdown
https://r4ds.had.co.nz/r-markdown.html
2)模仿学习,从github上面找一下优质的Rmd文件进行模型学习和改造应用。这里提供3个例子,欢迎大家补充。
2.1)BBC的Rcookbook的Rmd文件
https://github.com/bbc/rcookbook/blob/master/index.Rmd
2.2)Rgraphics的Rmd文件
https://github.com/IQSS/dss-workshops/blob/master/R/Rgraphics/Rgraphics.Rmd
2.3)探索和操作数据集的Rmd文件
https://github.com/mjfrigaard/storybench-posts/blob/master/03-how-to-explore-and-manipulate-a-dataset-from-the-fivethirtyeight-package-in-r.Rmd
07
可重复性代码构建指南
创建项目工程,做项目管理
项目的层级架构,参考下图:
各个文件夹和文件的用途
请注意
1 永远不要修改原始数据,或者说,一定要备份好原始数据
2 对于任何项目,创建一个文件,记录你的所思和所做,便于复盘和迭代
3 脚本的命名,请知名晓意,赋予含义,具有条理性和逻辑性,重视代码的可读性,代码是让电脑来运行的,更重要的是,让人来看的。
4 对于一个复杂的项目,编写代码之前,先写伪代码或者画流程图
08
tidyverse技能增进
tidyverse是数据科学套件包,也是我常用的R包,可以完成数据导入、探索性数据分析、数据处理和整理、统计分析等数据工作。
如何提升tidyverse技能?
多学它和多用它。
我分享一本tidyverse技能的线上书籍,送给大家。
访问网址:
https://jhudatascience.org/tidyversecourse/
本书在开篇,就谈到了数据科学生命周期,一起学习下,关键的地方我做了标注。
大家可以扫码添加我的微信,进入R4DS群,讨论和交流tidyverse包的学习和应用。
如果你觉得文章内容有用,请关注下方公众号~
如果你想找数据工作,请关注下方公众号~
R语言学习专辑:
觉得本文不错,就顺手帮我转发到朋友圈和微信群哦,谢谢。
请关注“恒诺新知”微信公众号,感谢“R语言“,”数据那些事儿“,”老俊俊的生信笔记“,”冷🈚️思“,“珞珈R”,“生信星球”的支持!