Re: 常態分配的部分平均值
感謝板友來信我今早花了一點時間讀入門跟繪圖
我想做的其實就是selection如何影響mean
以下是我的解決方案
qnorm(0.1, mean=40,sd=10)->up
qnorm(0.05, mean=40,sd=10)->low
求0.05跟0.01的臨界值,在平均值為40標準差為10的情況下
x=seq(0,80, length=10000)
plot(x,y,type="l",lwd=2,col="black")
polygon(c(0,x1,low),c(0,y1,0),col="black")
polygon(c(low,x2,up),c(0,y2,0),col="gray")
繪製常態分佈,將0.05到0塗成黑色,0.1到0.05塗成灰色
abline(v=40)
畫上平均線
for (i in 1:length(x)){if (x[i]<low)x[i]<-NA}
mean(x, na.rm=TRUE)->m1
計算不包含0.05以下的平均值(應該可用微積分改良)
x=seq(0,80, length=10000)
for (i in 1:length(x)){if (x[i]<up)x[i]<-NA}
mean(x, na.rm=TRUE)->m2
計算不包含0.1以下的平均值
abline(v=m1)
abline(v=m2)
畫上兩個新的平均值
text(38,0.02,"M1")
text(m1-2,0.02,"M2")
text(m2+2,0.02,"M3")
text(up+2,0.01,"U3")
text(low-3,0.01,"U2")
※ 引述《andrew43 (Myrmarachne)》之銘言:
: 以下是以 R 來模擬。
: 我也還處於練習 R 的新手,寫得笨或醜請多多指點。
: 取得左側 5% 的關鍵值
: th <- qnorm(0.05,mean=40,sd=15)
: 取得模擬之常態分布
: sample <- rnorm(100000,mean=40,sd=15)
: 以迴圈及判斷式將小於關鍵值者設定為 NA 值
: for (i in 1:length(sample)) {
: if (sample[i] < th) sample[i] <- NA
: }
: 取得新的平均值
: mean(sample, na.rm=TRUE)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 24.128.184.148
※ 編輯: mili 來自: 24.128.184.148 (07/07 09:15)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 3 篇):