[問題] 請教R或是S-plus程式高手
我的程式簡略如下
N=467
ai=c(56,72,73,59,62,87,58)
p=ai/N
X=7.235
c3=matrix(0,1,7)
c4=matrix(0,1,7)
c5=matrix(0,1,7)
c6=matrix(0,1,7)
c7=matrix(0,1,7)
c8=matrix(0,1,7)
c9=matrix(0,1,7)
c10=matrix(0,1,7)
c11=matrix(0,1,7)
ccc=rep(0,10000)
for(i in 1:10000){
w=rmultinom(1,N,p)
for(j in 1:7)
{ c3[j]=4*w[j]*(N-w[j])
c4[j]=c3[j]/N
c5[j]=X*(X+c4[j])
c6[j]=sqrt(c5[j])
c7[j]=X+2*w[j]
c8[j]=c7[j]-c6[j]
c9[j]=c7[j]+c6[j]
c10[j]=c8[j]/(2*(N+X))
c11[j]=c9[j]/(2*(N+X))
}
aa=ifelse(c10[1]<=p[1]&p[1]<=c11[1]&c10[2]<=p[2]&p[2]<=c11[2]&c10[3]<=p[3]&p[3]<=c11[3]&c10[4]<=p[4]&p[4]<=c11[4]&c10[5]<=p[5]&p[5]<=c11[5]&c10[6]<=p[6]&p[6]<=c11[6]&c10[7]<=p[7]&p[7]<=c11[7],0,1)
bb=sum(aa)
ccc[i]=ifelse(bb==0,1,0)
}
sum(ccc)
簡單的說
就是這個程式會有一組固定的p,其中有7個數字在裡面
例如p=(1,2,3,4,5,6,7),p[1]就代表1
後來程式會跑出兩組也是有7個數字組成的,就是c10跟c11
大概就是這意思...不太會描述
最後的ifelse我是要比較大小
我希望c10的每一項都小於p中所對應的,c11的每一項都要大於p中所對應的
可是這才7項就寫很長一串了
要怎麼寫比較簡化呢??
因為我會需要比較到50項的
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 125.230.0.56
推
06/28 14:00, , 1F
06/28 14:00, 1F
→
06/28 14:01, , 2F
06/28 14:01, 2F
→
06/28 14:01, , 3F
06/28 14:01, 3F