学习笔记day6-刘雅楠

dplyr五个基础函数

注意,井号开头的是代码运行记录。可以和自己的运行结果做对比

1.mutate(),新增列

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 17.85
## 2 4.9 3.0 1.4 0.2 setosa 14.70
## 3 7.0 3.2 4.7 1.4 versicolor 22.40
## 4 6.4 3.2 4.5 1.5 versicolor 20.48
## 5 6.3 3.3 6.0 2.5 virginica 20.79
## 6 5.8 2.7 5.1 1.9 virginica 15.66

2.select(),按列筛选

(1)按列号筛选

select(test,1)
## Sepal.Length
## 1 5.1
## 2 4.9
## 51 7.0
## 52 6.4
## 101 6.3
## 102 5.8
select(test,c(1,5))
## Sepal.Length Species
## 1 5.1 setosa
## 2 4.9 setosa
## 51 7.0 versicolor
## 52 6.4 versicolor
## 101 6.3 virginica
## 102 5.8 virginica
select(test,Sepal.Length)
## Sepal.Length
## 1 5.1
## 2 4.9
## 51 7.0
## 52 6.4
## 101 6.3
## 102 5.8

(2)按列名筛选

select(test, Petal.Length, Petal.Width)
## Petal.Length Petal.Width
## 1 1.4 0.2
## 2 1.4 0.2
## 51 4.7 1.4
## 52 4.5 1.5
## 101 6.0 2.5
## 102 5.1 1.9
vars <- c("Petal.Length", "Petal.Width") select(test, one_of(vars))
## Petal.Length Petal.Width
## 1 1.4 0.2
## 2 1.4 0.2
## 51 4.7 1.4
## 52 4.5 1.5
## 101 6.0 2.5
## 102 5.1 1.9

3.filter()筛选行

filter(test, Species == "setosa")
## Sepal.Length Sepal.Width Petal.Length ``Petal.Width Species
## 1 5.1 3.5 1.4 0.2 setosa
## 2 4.9 3.0 1.4 0.2 setosa
filter(test, Species == "setosa"&Sepal.Length > 5 )
## Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## 1 5.1 3.5 1.4 0.2 setosa
filter(test, Species %in% c("setosa","versicolor"))
## Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## 1 5.1 3.5 1.4 0.2 setosa
## 2 4.9 3.0 1.4 0.2 setosa
## 3 7.0 3.2 4.7 1.4 versicolor
## 4 6.4 3.2 4.5 1.5 versicolor

4.arrange(),按某1列或某几列对整个表格进行排序

arrange(test, Sepal.Length)#默认从小到大排序
## Sepal.Length Sepal.Width Petal.Length Petal.Width Species

1 4.9 3.0 1.4 0.2 setosa

2 5.1 3.5 1.4 0.2 setosa

3 5.8 2.7 5.1 1.9 virginica

4 6.3 3.3 6.0 2.5 virginica

5 6.4 3.2 4.5 1.5 versicolor

6 7.0 3.2 4.7 1.4 versicolor

arrange(test, desc(Sepal.Length))#用desc从大到小

Sepal.Length Sepal.Width Petal.Length Petal.Width Species

1 7.0 3.2 4.7 1.4 versicolor

2 6.4 3.2 4.5 1.5 versicolor

3 6.3 3.3 6.0 2.5 virginica

4 5.8 2.7 5.1 1.9 virginica

5 5.1 3.5 1.4 0.2 setosa

6 4.9 3.0 1.4 0.2 setosa

5.summarise():汇总

对数据进行汇总操作,结合group_by使用实用性强

summarise(test, mean(Sepal.Length), sd(Sepal.Length))# 计算Sepal.Length的平均值和标准差

mean(Sepal.Length) sd(Sepal.Length)

1 5.916667 0.8084965

先按照Species分组,计算每组Sepal.Length的平均值和标准差

group_by(test, Species)

# A tibble: 6 x 5

# Groups: Species [3]

Sepal.Length Sepal.Width Petal.Length Petal.Width Species

* <dbl> <dbl> <dbl> <dbl> <fct>

1 5.1 3.5 1.4 0.2 setosa

2 4.9 3 1.4 0.2 setosa

3 7 3.2 4.7 1.4 versicolor

4 6.4 3.2 4.5 1.5 versicolor

5 6.3 3.3 6 2.5 virginica

6 5.8 2.7 5.1 1.9 virginica

summarise(group_by(test, Species),mean(Sepal.Length), sd(Sepal.Length))

# A tibble: 3 x 3

Species mean(Sepal.Length) sd(Sepal.Length)

1 setosa 5 0.141

2 versicolor 6.7 0.424

3 virginica 6.05 0.354

dplyr两个实用技能

1:管道操作 %>% (cmd/ctr + shift + M)

image.png

2:count统计某列的unique值

image.png

dplyr处理关系数据

即将2个表进行连接,注意:不要引入factor


image.png
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容