0
으로 표시합니다. 95 % 신뢰 구간으로 S 자 모양의 분포 (y = 0~1
)를 맞추고 y=5%
(hc5
으로 지정)의 값을 얻으십시오. ZnOLC50.txt
이라는 원래의 입력 데이터 파일 :부트 스트랩 된 값의 분포를 R
LC50 Proportion
0.089 0.071428571
0.16 0.214285714
1.155 0.357142857
1.51 0.5
3.97 0.642857143
573.8 0.785714286
789 0.928571429
# Load data
>require(MASS)
>require(ggplot2)
>SSDZnOLC50<-read.delim("ZnOLC50.txt", header = TRUE)
>fitSSDZnOLC50<-fitdistr(SSDZnOLC50$LC50, 'lognormal')
# Extract hc5
>(hc5 <- qlnorm(0.05, meanlog = fitSSDZnOLC50$estimate[1], sdlog = fitSSDZnOLC50$estimate[2]))
[1] 0.01789181
>myboot <- function(fitSSDZnOLC50, p){
# resample from fitted distribution
>xr <- rlnorm(fitSSDZnOLC50$n, meanlog = fitSSDZnOLC50$estimate[1], sdlog = fitSSDZnOLC50$estimate[2])
# fit distribition to new data
>fitr <- fitdistr(xr, 'lognormal')
# return HCp
>hc5r <- qlnorm(p, meanlog = fitr$estimate[1], sdlog = fitr$estimate[2])
return(hc5r)
}
# Get 95% confidence interval
>set.seed(1234)
>hc5_boot <- replicate(1000, myboot(fitSSDZnOLC50, p = 0.05))
>quantile(hc5_boot, probs = c(0.025, 0.5, 0.975))
2.5% 50% 97.5%
0.0007278486 0.0370062459 1.4272168899
그러면 I은 생성 행렬에 기초 hc5_boot
hc5
분포 그리려.
에 도시 한 바와 같이 나는 또한
> df <- as.data.frame(hc5_boot)
> ggplot(df, aes(x=hc5_boot)) + geom_density() + scale_x_continuous(limits=c(0,4))
을 시도하고
같이 곡선을 얻을
curve(dnorm(x,mean(hc5_boot),sd(hc5_boot)),xlim=c(-1,10),col="Red",lwd=1)
그러나 관측에 따르면 일 때 농도 값이 0에 가까워지지 않으므로이 곡선 중 2.5%
분위수가 0.0007278486
인 것처럼 보이지는 않습니다.
그래서 나는 무엇이 잘못되었으며 어떻게해야하는지 궁금합니다.