2016年11月26日 星期六

「R」產生序列

產生1到10的序列

> s1<-1:10 
> s1
 [1]  1  2  3  4  5  6  7  8  9 10
> 

產生一個1到10,間隔為0.5的序列,透過seq函數


> seq(1,10,0.5)
 [1]  1.0  1.5  2.0  2.5  3.0  3.5  4.0  4.5  5.0  5.5  6.0  6.5  7.0
[14]  7.5  8.0  8.5  9.0  9.5 10.0
> 

產生一個指定數值的序列


> s3<-c(1,3,5)
> s3
[1] 1 3 5

產生重數值n,長度為M的序列,例如長度為10的序列,數頭全是1


 s3<-rep(1,10)
> s3
 [1] 1 1 1 1 1 1 1 1 1 1

rep也可以用來產生文字序列


> s3<-rep("G",10)
> s3
 [1] "G" "G" "G" "G" "G" "G" "G" "G" "G" "G"
> 

產生1到3之後是1到5的序列


sequence(c(3,5))
[1] 1 2 3 1 2 3 4 5
> 

產生長態分佈的隨機序列 ,例如數量30 ,平均值是0,標準差是1

 x<-rnorm(30,0,1)
> x
 [1] -2.2447060  1.0549524 -1.7044151  1.1469852  0.8830696  0.2083887
 [7]  0.8823955 -0.3976464 -0.5160780 -0.2907971  0.5140308 -0.6649935
[13] -0.5326976  2.1889057 -0.7649715 -1.6466003  0.6508996  1.9326675
[19] -1.0017353 -1.6557282 -1.3326705  1.1465761 -0.5932746 -0.3203247
[25] -1.0050817  0.1538962 -0.6863622 -0.4410272  1.6623734  0.4446147

透過hist(x)畫出上述的序列的直方圖






































probability density (常態分布的機密度函數)

常態分布機率密度函數均值為 變異數 (或標準差)是高斯函數的一個實例:






如果一個隨機變量服從這個分布,我們寫作  ~ . 如果並且,這個分布被稱為標準常態分佈,這個分布能夠簡化為











以上資料取自維基百科


> dnorm(0)
[1] 0.3989423
> dnorm(1)
[1] 0.2419707
> dnorm(2)
[1] 0.05399097
> dnorm(3)
[1] 0.004431848
> dnorm(4)
[1] 0.0001338302
> dnorm(5)
[1] 1.48672e-06


用Excel公式表示則如下

=1/SQRT(2*PI())*exp(-(X^2)/2)













































畫出圖形


 curve(dnorm,-6,6)


































cumulative probability function (累積分佈函數)

累積分布函數是指隨機變數小於或等於的機率,小於或等於的所有機率總和。


用機率密度函數表示為








常態分布的累積分布函數能夠由一個叫做誤差函數的特殊函數表示










標準常態分布的累積分布函數習慣上記為它僅僅是指 時的值,






將一般常態分布用誤差函數表示的公式簡化,可得:









以上資料取自維基百科

我們來產出 -6~6的累積分布函數

> x<--6:6
> pnorm(x)
 [1] 9.865876e-10 2.866516e-07 3.167124e-05 1.349898e-03 2.275013e-02
 [6] 1.586553e-01 5.000000e-01 8.413447e-01 9.772499e-01 9.986501e-01
[11] 9.999683e-01 9.999997e-01 1.000000e+00

你可以發現是愈來愈大,直到累加至1為止

畫張圖出來


curve(pnorm,-6,6)



































用excel的話是NORMDIST (x, mu, sigma, cumulative) 

EX:NORMDIST(x,0,1,TRUE)。



The value of quantile

qnorm這個函數是用取得上述pnorm(x)的x值,例如

> pnorm(0)
[1] 0.5
> qnorm(0.5)
[1] 0





參考資料:

https://zh.wikipedia.org/wiki/%E6%AD%A3%E6%80%81%E5%88%86%E5%B8%83

沒有留言:

張貼留言