日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

从qplot开始入门

發布時間:2023/12/15 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 从qplot开始入门 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文使用的數據集為ggplot2包自帶的diamonds數據集,其包含了約54000顆鉆石的價格和質量的信息。這組數據涵蓋了反映鉆石質量的四個“C”——克拉重量(carat)、切工(cut)、顏色(color)和凈度(clarity),以及五個物理指標——深度(depth)、鉆石寬度(table)、x、y、z。如下圖:

本文使用的另一個數據集是原始數據的一個容量為100的隨機樣本

set.seed(1410) #使樣本可重復

dsmall<-diamonds[sample(nrow(diamonds),100),]

1 基本用法

格式:qplot(x,y,data=data1)

例:qplot(carat,price,data=diamonds)

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

顏色、大小、形狀和其他屬性

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

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

qplot(carat,price,data=diamonds,aplha=I(1/100))

2 幾何對象geom

geom=”point” 可以繪制散點圖

geom=”smooth” 將擬合一條平滑曲線,并將曲線和標準誤展現在圖中

geom=”boxplot” 可以繪制箱線胡須圖,可以概括一系列點的分布情況

geom=”path” 和geom=”line” 可以在數據點之間繪制連線。線條圖只能創建從左到右的連線,而路徑圖則可以是任意方向。

對于一維的分布,幾何對象的選擇是由變量的類型指定的:

對于連續變量,geom=”histogram”繪制直方圖,geom=”freqploy”繪制頻率多邊形,geom=”density”繪制密度曲線。

對于離散變量,geom=”bar”繪制條形圖。

例:向圖中添加平滑曲線

qplot(carat,price,data=dsmall,geom=c("point","smooth"))

qplot(carat,price,data=diamonds,geom=c("point","smooth"))

不繪制標準誤差

qplot(carat,price,data=dsmall,geom=c("point","smooth"),se=FALSE)

method參數選擇不同的平滑器(loess/gam/lm/rlm)

method=”loess”,當n較小時是默認選項,使用的是局部回歸的方法。曲線的平滑程度是由span參數控制的,其取值范圍是從0(很不平滑)到1(很平滑)

例:qplot(carat,price,data=dsmall,geom=c("point","smooth"),span=0.2)

Loess對于大數據并不十分適用,因此當n超過1000時,默認的是另一種平滑算法。

method=”gam”,formula=y~s(x)調用mgcv包擬合一個廣義可加模型。對于大數據,可使用y~s(x,bs=”cs”),這是數據量超過1000時默認使用的選項。

method=”lm”擬合的是線性模型,默認情況下式一條直線,但可以指定formula=y~poly(x,2)來擬合一個二次多項式或加載splines包以使用自然樣條:formula=y~ns(x,2)。第二個參數是自由度:自由度取值越大,曲線的波動也越大。

例:library(splines)

qplot(carat,price,data=dsmall,geom=c("point","smooth"),method="lm",formula=y~ns(x,5))

method=”rlm”采用的是更穩健的擬合算法,使結果對異常值不太敏感。這個方法是MASS包的一部分,運用前需加載MASS包。

箱線圖和擾動圖

如果一個數據集中包含了一個分類變量和一個或多個連續變量,以上兩個圖可以描繪連續變量會如何隨著分類變量水平的變化而變化。

例:下圖展示了鉆石每克拉的價格隨顏色的變化情況

qplot(color,price/carat,data=diamonds,geom="jitter")

qplot(color,price/carat,data=diamonds,geom="boxplot")

?

直方圖和密度圖

直方圖和密度圖可以展示單個變量的分布,如以下兩圖展示了鉆石重量的直方圖和密度圖。

例:qplot(carat,data=diamonds,geom="density")

qplot(carat,data=diamonds,geom="histogram")

其中直方圖可以通過設置binwidth參數設置組距的大小。

?

要在不同組之間對分布進行對比,只需要加上一個圖形映射,如:

qplot(carat,data=diamonds,geom="density",colour=color)

qplot(carat,data=diamonds,geom="histogram",binwidth=0.1,xlim=c(0,3),fill=color)

?

條形圖

在離散變量的情形下,條形題與直方圖相類似,繪制的方法是geom=”bar”。條形圖幾何對象會計算每一水平下觀測的數量,因此不需要預先對數據進行匯總。如果數據已經進行了匯總,或者想用其他的方式對數據進行分組處理(如對連續變量進行分組求和),可以使用weight幾何對象。

例:左圖是鉆石顏色的普通條形圖,右圖是按重量加權的條形圖

qplot(color,data=diamonds,geom="bar")

qplot(color,data=diamonds,geom="bar",weight=carat)+

? scale_y_continuous("carat")

?

時間序列中的線條圖和路徑圖

線條圖的X軸一般是時間,展示的是單個變量隨時間變化的情況,路徑圖則展示了兩個變量隨時間聯動的情況,時間反映在點的順序上。

使用economics數據集,它包含了美國過去40年的經濟數據,左圖展示了失業率的變化,右圖表示失業星期數的中位數。

qplot(date,unemploy/pop,data=economics,geom="line")

qplot(date,uempmed,data=economics,geom="line")

?

下圖表示失業率和失業時間長度隨時間的變化的路徑。左圖有很多交叉,時間變化的方向并不明顯,右圖中將年份映射到了colour屬性屬性上,時間的行進方向更明顯。

qplot(unemploy/pop,uempmed,data=economics,geom=c("point","path"))

year<-function(x) as.POSIXlt(x)$year+1900

qplot(unemploy/pop,uempmed,data=economics,geom=c("point","path"),colour=year(date))

?

3 分面

之前利用利用圖形屬性(顏色和形狀)來比較不同分組的方法,它可以將所有的組繪制在同一張圖上。分面是另一種實現的方法:它將數據分割成若干子集,然后創建一個圖形的矩陣,將每一個子集繪制到圖形矩陣的窗格中。

qplot()默認的分面方面是將圖形拆分成若干個窗格,這可以通過形如row_var-col_var的表達式進行指定??梢灾付ㄈ我鈹盗康男凶兞亢土凶兞?#xff0c;但當變量數超過兩個時,生成的圖形可能非常大,以至于不適合在屏幕上顯示。如果只想一行一列,可以使用.作為占位符,例如row_var~.會創建一個單列多行的圖形矩陣。

例:以顏色為條件的重量的直方圖,右圖繪制的是比例,這使得比較不同組的分布時不會受到該組樣本量大小的影響。

qplot(carat,data=diamonds,facets=color~.,geom="histogram",

????? binwidth=0.1,xlim=c(0,3))

qplot(carat,..density..,data=diamonds,facets=color~.,

????? geom="histogram",binwidth=0.1,xlim=c(0,3)

?

4 其他選項

qplot中還有一些其他的選項用于控制圖形的外觀。這些參數與在plot中的作用相同。

xlim,ylim:設置x軸和y軸的顯示區間,例xlim=c(0,20)

log:一個字符型向量,說明哪一個坐標軸應該取對數,例log=”x”表示對x軸取對數,log=”xy”表示對x軸和y軸都取對數。

main:圖形的主題,參數可以是字符串,也可以是表達式

xlab,ylab:設置x軸和y軸的標簽文字,可以是字符串或數學表達式

例:

qplot(

? carat,price,data=dsmall,

? xlab="price($)",ylab="weight(carats)",

? main="price-weight relationship"

)

總結

以上是生活随笔為你收集整理的从qplot开始入门的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。