読者です 読者をやめる 読者になる 読者になる

はしくれエンジニアもどきのメモ

情報・Web系技術の勉強メモ・備忘録です。

R言語で多変量解析2(2変数の統計量、プロット)

(量的)2変数の統計量

  • 標本データ n個のサンプル:

         f:id:cartman0:20140628164836p:plain

  • 偏差積和:

          f:id:cartman0:20140628165421p:plain

  • 共分散:

        f:id:cartman0:20140628165825p:plain

  • 相関係数:

      f:id:cartman0:20140628170140p:plain

 

 > weight <- c(67,80,90,54,50,58,64,61,100,71)
> weight
[1] 67 80 90 54 50 58 64 61 100 71
> height <- c(171,175,179,167,160,169,157,180,176,190)
> height
[1] 171 175 179 167 160 169 157 180 176 190
> wm <- mean(weight)
> wm
[1] 69.5
> hm <- mean(height)
> hm
[1] 172.4
> wd <- weight - wm
> wd
[1] -2.5 10.5 20.5 -15.5 -19.5 -11.5 -5.5 -8.5 30.5 1.5
> hd <- height - hm
> hd
[1] -1.4 2.6 6.6 -5.4 -12.4 -3.4 -15.4 7.6 3.6 17.6
> Sw <- sum(wd^2) #平方和
> Sw
[1] 2324.5
> Sh <- sum(hd^2)
> Sh
[1] 864.4
> n <- length(weight)
> n
[1] 10
> Vw <- Sw / (n-1) #分散(体重)
> Vw
[1] 258.2778
> Vh <- Sh / (n-1) #分散(身長)
> Vh
[1] 96.04444
> sqrt(Vw) #体重の標準偏差
[1] 16.07102
> sqrt(Vh) #身長の標準偏差
[1] 9.800227
> sd(weight) #体重の標準偏差(関数)
[1] 16.07102
> sd(height) #身長の標準偏差(関数)
[1] 9.800227
> summary(weight) #体重の基本統計量
Min. 1st Qu. Median Mean 3rd Qu. Max.
50.00 58.75 65.50 69.50 77.75 100.00
> summary(height) #身長の基本統計量
Min. 1st Qu. Median Mean 3rd Qu. Max.
157.0 167.5 173.0 172.4 178.2 190.0
> #偏差積和
> hw <- (weight - wm)*(height - hm)
> hw
[1] 3.5 27.3 135.3 83.7 241.8 39.1 84.7 -64.6 109.8 26.4
> Shw <- sum(hw)
> Shw
[1] 687
> #共分散
> Chw <- Shw / (n-1)#共分散(定義)
> Chw
[1] 76.33333
> cov(height,weight) #共分散(関数)
[1] 76.33333
> #相関係数
> CORhw <- Shw / sqrt(Sw * Sh) #定義(偏差積和/平方和)
> CORhw
[1] 0.4846571
> cor(height,weight) #関数
[1] 0.4846571
> #標準化
> zw <- (weight - wm)/sd(weight)
> zw
[1] -0.15555948 0.65334982 1.27558775 -0.96446879 -1.21336396 -0.71557362
[7] -0.34223086 -0.52890224 1.89782568 0.09333569
> zh <- (height - hm)/sd(height)
> zh
[1] -0.1428538 0.2653000 0.6734538 -0.5510077 -1.2652768 -0.3469307
[7] -1.5713922 0.7754923 0.3673384 1.7958768
> mean(zw) #標準化された体重の平均
[1] 1.368128e-18
> mean(zh) #標準化された身長の平均
[1] -5.801132e-16
> sd(zw) #標準化された体重の標準偏差
[1] 1
> sd(zh) #標準化された身長の標準偏差
[1] 1
>

 

 データをプロット

plot関数を使用。

plot関数のオプション:

  • pch = 20は円の塗りつぶし
  • col = "red"は、"blue"なら

> #描画
> plot(weight, height, pch = 20, col = "red" ) 

 f:id:cartman0:20140628160741p:plain