学习小组Day6笔记--五颗糖
2020-03-13 本文已影响0人
想要转行的小张
1.R包的安装
首先
install.packages(“包”)
如果包不好安装可以下载压缩文件进行本地安装。
然后选择镜像
最后(二者选一个)
library(包) require(包)
2. dplyr包中基本函数的学习
以iris数据集为例进行说明
test1 <- iris[c(1:3,51:52,101:102),]#将iris包的1到3行,51到52行和101到102行提取出来,并赋值给test1
新增列函数:mutate()
如新增一列命名为new,它的值为长/宽
mutate(test, new = Sepal.Length/Sepal.Width)
Sepal.Length Sepal.Width Petal.Length Petal.Width Species new
1 5.1 3.5 1.4 0.2 setosa 1.457143
2 4.9 3.0 1.4 0.2 setosa 1.633333
3 7.0 3.2 4.7 1.4 versicolor 2.187500
4 6.4 3.2 4.5 1.5 versicolor 2.000000
5 6.3 3.3 6.0 2.5 virginica 1.909091
6 5.8 2.7 5.1 1.9 virginica 2.148148
按列筛选
select()
如
select(test1,1) #将第一列选出
select(test1,c(1,5)) #将第一列和第五列选出
select(test1, Petal.Length, Petal.Width) #将列名为Sepal.Length和Petal.Width的选出
a <- c("Petal.Length", "Petal.Width")# 将需要选出的列的列名全赋予给a
select(test1, one_of(a))#选出test1中包含a的列
筛选行
filter()
filter(test1, Species == "virginica")
filter(test1, Species == "setosa"&Sepal.Length > 6)
filter(test, Species %in% c("setosa","versicolor"))#注意%in%的意思
按某1列或某几列对整个表格进行排序
arrange()
arrange(test1, Sepal.Length)
#将按照长,从小到大排序进行排序或在里面加上desc(Sepal.Length)按照从大到小排序
arrange(test1, Sepal.Length)
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1 4.7 3.2 1.3 0.2 setosa
2 4.9 3.0 1.4 0.2 setosa
3 5.1 3.5 1.4 0.2 setosa
4 5.8 2.7 5.1 1.9 virginica
5 6.3 3.3 6.0 2.5 virginica
6 6.4 3.2 4.5 1.5 versicolor
7 7.0 3.2 4.7 1.4 versicolor
汇总
summarise()
重要的
管道命令:%>%
如:将test1传递给group_by,再传递给 summarise
test1 %>%
group_by(Species) %>%
summarise(mean(Sepal.Length), sd(Sepal.Length))
等同于(注意体会和理解)
test1
group_by(test1,Species)
summarise(group_by(test1,Species), mean(Sepal.Length), sd(Sepal.Length))
count()
函数:统计某列中多种重复值及其重复次数
将2个关系数据表进行连接(注意理解!!):
inner_join #内连
left_join #左连
full_join #全连
semi_join #半连接
anti_join #反连接
最后cbind()
函数和rbind()
函数:将两个表合并(要求列相同或行相同)。