R語言探索性分析及plyr資料轉換包
阿新 • • 發佈:2018-12-10
R包dplyr可用於處理R內部或者外部的結構化資料,相較於plyr包,dplyr專注接受dataframe物件, 大幅提高了速度,並且提供了更穩健的資料庫介面。 下面針對一些具體的例子介紹探索性分析和plyr資料轉換包 統計diamonds(R語言自帶的資料集)在不同克拉的數量
#%>%管道運算子,用於傳遞資料集
diamonds %>%
count(cut_width(carset,0.5))
carset代表是克拉資料集,0.5代表的集合長度,count點明是統計量
用直方圖畫出小於三克拉的鑽石分佈
a<-diamonds %>%
filter (carat<3)
ggplot(data=a,mapping=aes(x=carat))+
#設定直方圖的binwidth
geom_histogram(binwidth=0.01)+
#設定x軸的標度
scale_x_continuous(breaks=seq(from=0,to=3,by=0.5))
從這個圖可以初步進行資料分析 1.克拉越大的鑽石的頻數越小 2.整數克拉的頻數遠大於同區段非整數克拉的頻數。且這種區別在克拉越大的區段越明顯 這些推斷明顯和日常生活的常識是相符的。 在0克拉到1克拉之間,我們對是否是購買整數克拉並不在乎,0.3和0.5基本沒什麼區別,但隨著克拉數越大,我們越關注是否能購買到整數克拉的鑽石。相比於2.1克拉,我們更傾向於2克拉。
鑽石的異常值分析 對鑽石的異常值進行分析
ggplot(data=diamonds,mapping=aes(x=y))+
geom_histogram(binwidth=0.5)
似乎看不出有異常值,所有的值都緊密集中在一定的範圍內,不妨把圖縮小一點,因為例如一張世界地圖,如果我們想在世界地圖裡面找到一個城鎮(異常值)就需要將地圖放大
ggplot(data=diamonds,mapping = aes(x=y))+
geom_histogram(binwidth = 0.5)+
#設定y軸的範圍,變向縮小y軸
coord_cartesian(ylim = c(0 ,20))
放大後我們能清晰的看到異常值,0克拉和32克拉,59克拉都是異常值,是違背常理的。 連續性和離散型 離散型和離散型資料組合
ggplot(mpg)+
#box picture
geom_boxplot(mapping=aes(x=reorder(class,hwy,FUN=median),y=hwy))+
coord_flip()
#離散值與離散值 cut和color都是離散值
diamonds %>%
count(color,cut) %>%
ggplot(mapping = aes(x=color,y=cut))+
geom_tile(mapping=aes(fill=n))
值得注意的有reorder函式和geom_tile 還有離散資料和連續資料在分別作為x座標和y座標選取的方法,怎麼樣才能準確的把影象表達清楚,有時候必須要考慮離散資料和連續資料的區別