天天看點

R語言探索性分析及plyr資料轉換包

R包dplyr可用于處理R内部或者外部的結構化資料,相較于plyr包,dplyr專注接受dataframe對象, 大幅提高了速度,并且提供了更穩健的資料庫接口。

下面針對一些具體的例子介紹探索性分析和plyr資料轉換包

統計diamonds(R語言自帶的資料集)在不同克拉的數量

#%>%管道運算符,用于傳遞資料集
diamonds %>%
    count(cut_width(carset,))
           

carset代表是克拉資料集,0.5代表的集合長度,count點明是統計量

R語言探索性分析及plyr資料轉換包

用直方圖畫出小于三克拉的鑽石分布

a<-diamonds %>%
  filter(carat<)
ggplot(data=a,mapping=aes(x=carat))+
  #設定直方圖的binwidth
  geom_histogram(binwidth=)+
  #設定x軸的标度
  scale_x_continuous(breaks=seq(from=,to=,by=))
           
R語言探索性分析及plyr資料轉換包

從這個圖可以初步進行資料分析

1.克拉越大的鑽石的頻數越小

2.整數克拉的頻數遠大于同區段非整數克拉的頻數。且這種差別在克拉越大的區段越明顯

這些推斷明顯和日常生活的常識是相符的。

在0克拉到1克拉之間,我們對是否是購買整數克拉并不在乎,0.3和0.5基本沒什麼差別,但随着克拉數越大,我們越關注是否能購買到整數克拉的鑽石。相比于2.1克拉,我們更傾向于2克拉。

鑽石的異常值分析

對鑽石的異常值進行分析

ggplot(data=diamonds,mapping=aes(x=y))+
    geom_histogram(binwidth=)
           
R語言探索性分析及plyr資料轉換包

似乎看不出有異常值,所有的值都緊密集中在一定的範圍内,不妨把圖縮小一點,因為例如一張世界地圖,如果我們想在世界地圖裡面找到一個城鎮(異常值)就需要将地圖放大

ggplot(data=diamonds,mapping = aes(x=y))+
  geom_histogram(binwidth = )+
 #設定y軸的範圍,變向縮小y軸
  coord_cartesian(ylim = c(,))
           
R語言探索性分析及plyr資料轉換包

放大後我們能清晰的看到異常值,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))
           
R語言探索性分析及plyr資料轉換包
R語言探索性分析及plyr資料轉換包

值得注意的有reorder函數和geom_tile

還有離散資料和連續資料在分别作為x坐标和y坐标選取的方法,怎麼樣才能準确的把圖像表達清楚,有時候必須要考慮離散資料和連續資料的差別