ggplot2(一)

從ggplot2的qplot()開始,qplot()的用法與plot()有一定的相似之處,所以如果熟悉plot(),那麼學習起來qplot()也不會太難。

數據集使用diamonds,首先用summary()查看一下數據集的基本特性吧!


數據說明:


然後創建一個含有100條記錄的diamonds的子集dsmall:

set.seeds(1410)
dsmall<-diamonds[sample(nrow(diamonds),100),]
set.seeds()應該是給下面的隨機取樣過程設定的某個條件,具體原理我也不是很清楚,還請多多指教。

sample()用來在所有的diamonds記錄中隨機抽取100個作爲dsmall

最爲基本的用法:

qplot()的前兩個參數分別是x與y,給出座標點的橫縱座標,data參數可選。

qplot(carat,price,data=diamonds)


除了一些顯著的outlier以外,x與y有顯著的相關性,同時在y軸方向上可以觀察到有顯著的斷面。從圖像上看,x與y成指數關係,所以我們可以對兩組值進行適當的轉換後再重新作圖使得趨勢更爲明顯。qplot()的參數可以爲函數,所以分別對x值與y值取對數:

qplot(log(carat),log(price),data=diamonds)


看吧,顯著的線性關係來了是不是呢!當然了,qplot()還可以接受不同變量的組合作爲參數,如果我們想研究鑽石的體積與重量之間的關係(體積約等於x*y*z),那麼:

qplot(carat,x*y*z,data=diamonds)


從上圖中我們基本可以推斷出鑽石的密度是一個基本恆定值,因爲體積與質量的比值是大體不變的。

對座標點顏色,大小,形狀以及其他外觀參數的設定

在使用qplot()與plot()時最大的不同之一就是對於點的顏色,大小,形狀等性質的設定。如果使用plot()函數,你需要自己去將類型變量轉換成plot()函數可以識別的控制外觀的參數,但是在qplot()中,這一過程可以自動完成:

qplot(carat,price,data=dsmall,color=color


qplot(carat,price,data=dsmall,shape=cut)

對於每一個外觀參數,都有一個scale函數將數據與有效地參數逐一對應起來,例如在對座標點顏色進行改變的例子中,函數將J對應爲紫色,而將F對應爲綠色。

對於像diamonds這樣較大的數據及而言,設置點的透明度可以有效地減少座標點重合的問題。alpha參數可以設置爲0(完全透明)到1(完全不透明)中的任意值。很多時候,alpha的值可以用分數來表示。

qplot(carat,price,data=diamonds,alpha=I(1/10))
qplot(carat,price,data=diamonds,alpha=I(1/100))
qplot(carat,price,data=diamonds,alpha=I(1/200))


不同的外觀參數適用於不同的數據類型。對於分類數據的區分最好用顏色與形狀參數,而連續數據最好用大小表示,同時,數據集的大小也是一項重要的考慮因素。

 



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章