1. 程式人生 > >同一介面畫出多個QQ圖(R語言)

同一介面畫出多個QQ圖(R語言)

題目:一名研究者用光子吸收法測量了婦女骨骼中無機物含量,對三根骨頭主側和非主側記錄了測量值,資料框“T1bones.txt”中的第2至第7列記錄了相應資料。對各個變數做qq圖,在同一個介面畫出所有的qq圖,不同的qq圖用不同顏色表示。

檔案:T1bones.txt

受試者編號    主側橈骨    橈骨    主側肱骨    肱骨    主側尺骨    尺骨
1    1.103    1.052    2.139    2.238    0.873    0.872
2    0.842    0.859    1.873    1.741    0.590    0.744
3    0.925    0.873    1.887    1.809    0.767    0.713
4    0.857    0.744    1.739    1.547    0.706    0.674
5    0.795    0.809    1.734    1.715    0.549    0.654
6    0.787    0.779    1.509    1.474    0.782    0.571
7    0.933    0.880    1.695    1.656    0.737    0.803
8    0.799    0.851    1.740    1.777    0.618    0.682
9    0.945    0.876    1.811    1.759    0.853    0.777
10    0.921    0.906    1.954    2.009    0.823    0.765
11    0.792    0.825    1.624    1.657    0.686    0.668
12    0.815    0.751    2.204    1.846    0.678    0.546
13    0.755    0.724    1.508    1.458    0.662    0.595
14    0.880    0.866    1.786    1.811    0.810    0.819
15    0.900    0.838    1.902    1.606    0.723    0.677
16    0.764    0.757    1.743    1.794    0.586    0.541
17    0.733    0.748    1.863    1.869    0.672    0.752
18    0.932    0.898    2.028    2.032    0.836    0.805
19    0.856    0.786    1.390    1.324    0.578    0.610
20    0.890    0.950    2.187    2.087    0.758    0.718
21    0.688    0.532    1.650    1.378    0.533    0.482
22    0.940    0.850    2.334    2.225    0.757    0.731
23    0.493    0.616    1.037    1.268    0.546    0.615
24    0.835    0.752    1.509    1.422    0.618    0.664
25    0.915    0.936    1.971    1.869    0.869    0.868

方法一:在一個座標系裡畫出多個QQ圖

R語言程式碼:

data <-read.table("T1bones.txt",header=TRUE);data
d1 <- data[1:25,2];d1
d2 <- data[1:25,3];d2
d3 <- data[1:25,4];d3
d4 <- data[1:25,5];d4
d5 <- data[1:25,6];d5
d6 <- data[1:25,7];d6
qqnorm(d1)
qqline(d1)
par(new=T)
qqnorm(d2,col="green",xaxt="n",yaxt="n")
qqline(d2,col="green")
par(new=T)
qqnorm(d3,col="blue",xaxt="n",yaxt="n")
qqline(d3,col="blue")
par(new=T)
qqnorm(d4,col="yellow",xaxt="n",yaxt="n")
qqline(d4,col="yellow")
par(new=T)
qqnorm(d5,col="red",xaxt="n",yaxt="n")
qqline(d5,col="red")
par(new=T)
qqnorm(d6,col="orange",xaxt="n",yaxt="n")
qqline(d6,col="orange")

執行結果:

方法二:使用多個座標系,把每個QQ圖分佈在一個介面中

R語言程式碼:

par(mfcol=c(2,3))
qqnorm(d1,main="d1")
qqline(d1)
qqnorm(d2,col="green",main="d2")
qqline(d2,col="green")
qqnorm(d3,col="blue",main="d3")
qqline(d3,col="blue")
qqnorm(d4,col="yellow",main="d4")
qqline(d4,col="yellow")
qqnorm(d5,col="red",main="d5")
qqline(d5,col="red")
qqnorm(d6,col="orange",main="d6")
qqline(d6,col="orange")

執行結果: 

相關資料:資料分析與R軟體第二版(李素蘭著)每章例題程式碼和資料,下載地址:https://download.csdn.net/download/lph188/10802159