2014-09-01 2 views
0

나는 필요한 여백과 표본 크기를 나타내는 도표를 플로팅하려고한다. 그러나 내 기술을 뛰어 넘어 뭔가 잘못되고 있습니다. 아무도 내가 그것을 고칠 수있는 방법을 알고 있습니까?오차 한계 및 표본 크기가 필요함 R

# range of margin of error 
alpha=seq(0.01, 0.10, by=.01) 
nalpha <- length(alpha) 

# sample sizes 
samps =seq(0, 15000, by=500)[-1] 
nsamps <- length(samps) 

# obtain sample sizes vs MoE 
samsize <- array(numeric(nalpha*nsamps), dim=c(nalpha,nsamps)) 
for (i in 1:nsamps){ 
    for (j in 1:nalpha){ 
    result = sqrt((.5*(1-.5))/samps) * qnorm(1-alpha/2) 
    samsize[j,i] <- result[j] 
    } 
} 

# graphing 
x <- range(alpha) 
y <- round(range(nsamps)) 
cols <- rainbow(length(samps)) 

plot(x, y, type="n", 
    ylab="Sample Size (n)", 
    xlab="Margin of Error") 

# add power curves 
for (i in 1:nsamps){ 
    lines(alpha, samsize[,i], type="l", lwd=2, col=cols[i]) 
} 

답변

0

plot()

y 
# [1] 30 30 

에서 y 당신의 가치 봐하지만 당신은 라인의 y 값으로 samsize의 값을 사용하고 있습니다.

range(samsize) 
# [1] 0.01163087 0.05759729 

플롯에 대해 정의한 범위를 벗어나는 방법이므로 값이 표시되지 않습니다. 정확하게 의도 한 것이 무엇인지 모르겠지만, plot()lines()에서 사용하는 y의 값이 실제로 일치하는지 확인하고 싶을 것입니다.

관련 문제