[問題] 請教R或是S-plus程式高手

看板Statistics作者 (謝謝^^)時間16年前 (2009/06/28 12:23), 編輯推噓1(102)
留言3則, 1人參與, 最新討論串1/1
我的程式簡略如下 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
prod(c(c10-p<0,c11-p>0)) =1表示符合 0表示至少一個不合
06/28 14:00, 1F

06/28 14:01, , 2F
如果想知道的是多少個和多少個不合就把prod改成sum就會吐
06/28 14:01, 2F

06/28 14:01, , 3F
出合的個數
06/28 14:01, 3F
文章代碼(AID): #1AHl0yMd (Statistics)