R包dplyr可用于處理R内部或者外部的結構化資料,相較于plyr包,dplyr專注接受dataframe對象, 大幅提高了速度,并且提供了更穩健的資料庫接口。
下面針對一些具體的例子介紹探索性分析和plyr資料轉換包
統計diamonds(R語言自帶的資料集)在不同克拉的數量
#%>%管道運算符,用于傳遞資料集
diamonds %>%
count(cut_width(carset,))
carset代表是克拉資料集,0.5代表的集合長度,count點明是統計量
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsICM38CXlZHbvN3cpR2Lc1TPB10QGtWUCpEMJ9CXsxWam9CXwADNvwVZ6l2c052bm9CXUJDT1wkNhVzLcRnbvZ2Lc1TPB50MVpWT0MGVNBDOsJGcohVYsR2MMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2LcRHelR3LcJzLctmch1mclRXY39DM0EzNxQDMyITNxkDM4EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
用直方圖畫出小于三克拉的鑽石分布
a<-diamonds %>%
filter(carat<)
ggplot(data=a,mapping=aes(x=carat))+
#設定直方圖的binwidth
geom_histogram(binwidth=)+
#設定x軸的标度
scale_x_continuous(breaks=seq(from=,to=,by=))
從這個圖可以初步進行資料分析
1.克拉越大的鑽石的頻數越小
2.整數克拉的頻數遠大于同區段非整數克拉的頻數。且這種差別在克拉越大的區段越明顯
這些推斷明顯和日常生活的常識是相符的。
在0克拉到1克拉之間,我們對是否是購買整數克拉并不在乎,0.3和0.5基本沒什麼差別,但随着克拉數越大,我們越關注是否能購買到整數克拉的鑽石。相比于2.1克拉,我們更傾向于2克拉。
鑽石的異常值分析
對鑽石的異常值進行分析
ggplot(data=diamonds,mapping=aes(x=y))+
geom_histogram(binwidth=)
似乎看不出有異常值,所有的值都緊密集中在一定的範圍内,不妨把圖縮小一點,因為例如一張世界地圖,如果我們想在世界地圖裡面找到一個城鎮(異常值)就需要将地圖放大
ggplot(data=diamonds,mapping = aes(x=y))+
geom_histogram(binwidth = )+
#設定y軸的範圍,變向縮小y軸
coord_cartesian(ylim = c(,))
放大後我們能清晰的看到異常值,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坐标選取的方法,怎麼樣才能準确的把圖像表達清楚,有時候必須要考慮離散資料和連續資料的差別