Я пытаюсь воспроизвести результаты Таблицы 1 со страницы 12, используя уравнение, приведенное на странице 13. Чтобы получить доступ к журнальной статье, нажмите https://arxiv.org/pdf/math/0605322.pdf. Соответствующее уравнение приведено ниже.
Мой r code
приведен ниже.Я правильно запрограммирован?
mytest=function(n,s,c1){
t = sum(s)
k=which.max(s[19:n]>=c1)
if(k==1 && s[19]<c1)
return(c(n,0))
else
return(c(k,1))
}
for (n in c(100,200,400)){
for (i in c(-0.5, -1.0)){
a1=0
c1 = 20
asn1=0
for (m in 1:1000){
g=c(dnorm(n,0,1))
f=c(dnorm(n,i,1))
s = log(g/f)
test=mytest(n,s,c1)
a1=a1+test[2]
asn1=asn1+test[1]
}
}
out <- list(power= a1/m, asn=asn1/m)
return(out)
}
Но я получаю следующие ошибки.
Error in if (k == 1 && s[19] < c1) return(c(n, 0)) else return(c(k, 1)) :
missing value where TRUE/FALSE needed