对tidyverse学习
2021-3-9 20:47
阅读:1666
参考来自https://www.jianshu.com/p/a081a791ae03
#install.packages("tidyverse") library(tidyverse) View(iris) #可以像excel一样查看数据 #Sepal.Length(花萼长度),Sepal.Width(花萼宽度) #Petal.Length(花瓣长度),Petal.Width(花瓣宽度) #Species(花的类型),其中花有3种类型(setosa、versicolor、virginica) attributes(iris) #查看数据属性 #3.使用dplyr对数据进行操作 #3.1 select(按名称选取列) select(iris,Sepal.Length,Petal.Length,Species) #为了查看方便也可以只查看前6行 head(select(iris,Sepal.Length,Petal.Length,Species)) #将筛选出来的结果通过赋值操作符<-给一个变量,如下所示 #基础的可视化,按照分组Species进行画散点图 p <- select(iris,Sepal.Length,Petal.Length,Species) ggplot(p,aes(Sepal.Length,Petal.Length))+ geom_point(aes(color=Species),size=2) #select选择2列之间的所有列 select(iris,(Sepal.Length:Petal.Length)) #select选择不在2列之间的所有列 select(iris,-(Sepal.Length:Petal.Length)) ##select()与everythin()函数结合使用可以改变列的顺序 p1<-select(iris,Species,Petal.Width,Sepal.Width, Sepal.Length,Petal.Length,everything()) #3.2 filter(按值筛选行) p2<-filter(iris,Sepal.Length >=5,Petal.Length >=2) #对筛选数据进行画图成现 p3 <- filter(iris,Sepal.Length >=5,Petal.Length >=2) ggplot(p3,aes(Sepal.Length,Petal.Length))+ geom_point(aes(color=Species),size=2) #R中的比较运算符:>、>=、<、<=、!=(不等于)、==(等于) #R中的逻辑运算符:&表示"与”,|表示“或”,!表示“非” #3.3 arrange(改变行顺序) #根据Petal.Width列的数据进行排序,默认为升序 arrange(iris,Petal.Width) #desc()可以按列进行降序排序: arrange(iris,desc(Petal.Width)) #3.4 rename(更改列名称) #新名称在前,原始名称在后 p4<-rename(iris,length=Sepal.Length) #3.5 mutate(添加新列) p5<-mutate(iris,group ="A",Length=10) summarize(iris,mean(Sepal.Length), sd(Sepal.Length)) p6<-iris %>% group_by(Species) %>% summarize(m = mean(Sepal.Length,na.rm=T)) # na.rm=T 表示移除缺失数据 #利用管道可以简化代码,提高代码阅读流畅性: p7 <- filter(iris,Sepal.Length >=5,Petal.Length >=2) p8 <- group_by(p1,Species) p9 <- filter(p2,Species=="virginica") ggplot(p3,aes(Sepal.Length,Petal.Length))+ geom_point(aes(color=Species),size=2) p10<-iris %>% filter(Sepal.Length >=5,Petal.Length >=2) %>% group_by(Species) %>% filter(Species=="virginica") %>% ggplot(aes(Sepal.Length,Petal.Length))+ geom_point(aes(color=Species),size=2) #上述与p10这2段代码结果相同,可以明显看到使用了%>%减少了中间变量, #提高了代码的可阅读性 #管道的原理就是将%>%左边的变量传递到右边的.处,通常在正式书写时可省略. iris %>% filter(.,Sepal.Length >=5,Petal.Length >=2) #3.6 count() 计算每组值的次数 iris %>% count(Species)
转载本文请联系原作者获取授权,同时请注明本文来自林国鹏科学网博客。
链接地址:https://wap.sciencenet.cn/blog-3448646-1275830.html?mobile=1
收藏
当前推荐数:0
推荐到博客首页
网友评论0 条评论