[問題] sas 有關if的問題,拜託高手幫忙

看板Statistics作者 (FUTURE)時間16年前 (2009/11/24 14:42), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串1/2 (看更多)
因為我看了sas的help說明,還是無法將我想表達的寫成sas,但我要表達的內容用c語言寫 是下面那段,我想把他寫成sas語言要怎麼寫? 其實我要表達的東西就是有s1 s2 s3 三個式子,而我想要在 if t<2 then do s1 ; if t>=2 and t<4 then do s1 s2 ; if t >=4 then do s1 s2 s3; 然後都要print 出來 t<2 t<2 t<2 2<t<4 2<t<4 2<t<4 t>4 t>4 . .(t為0到9) 但我不會寫, 以下為c語言寫法不知道各位高手會不會改成sas。 for ( t =0 ; t<=9 ; t++ ){ if ( t< 2){ s1== (1+((b1*(X11t-127.3)))*((1-exp(-(p+q)*t)/1+(p/q)*exp(-(p+q)*t ))*m1*(1-(1-exp(-(p+q)*(t-2)))/(1+(p/q)*exp(-(p+q)*(t-2)))))) printf("t<2, s1= %d",s1) }; else if ( 2<=t< =4){ s2 = (1+((b1*(X12t-67.8)))*((1-exp(-(p+q)*(t-2)))/(1+(p/q)*exp( -(p+q)*(t-2)))*(m2+m1*(1-exp(-(p+q)*t)))/(1+(p/q)*exp(-(p+q)*t)) *(1-(1-exp(-(p+q)*(t-4)))/(1+(p/q)*exp(-(p+q)*(t-4)))))); printf("2<t<4, s1= %d ,s2=%d,s1,s2); ... }; else s1== (1+((b1*(X11t-127.3)))*((1-exp(-(p+q)*t)/1+(p/q)*exp( -(p+q)*t))*m1*(1-(1-exp(-(p+q)*(t-2)))/(1+(p/q)*exp(-(p+q)*(t-2)))))); s2 = (1+((b1*(X12t-67.8)))*((1-exp(-(p+q)*(t-2)))/(1+(p/q)*exp(-(p+q)* (t-2)))*(m2+m1*(1-exp(-(p+q)*t)))/(1+(p/q)*exp(-(p+q)*t))* (1-(1-exp(-(p+q)*(t-4)))/(1+(p/q)*exp(-(p+q)*(t-4)))))); S3 = (1+((b1*(X13t-63.7)))*((1-exp(-(p+q)*(t-4)))/(1+(p/q)* exp(-(p+q)*(t-4))))*(m3+((1-(1-exp(-(p+q)*(t-2))))/(1+(p/q)* exp(-(p+q)*(t-2)))))*(m2+m1*(1-exp(-(p+q)*t)/(1+(p/q)*exp(-(p+q)*t))))); printf("t>4, s1= %d ,s2=%d,s3=%d,s1,s2,s3); } }; -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.116.96.38

11/24 15:06, , 1F
所謂的print是想print在log裡面還是print到output檔?
11/24 15:06, 1F
文章代碼(AID): #1B2u1MOb (Statistics)
文章代碼(AID): #1B2u1MOb (Statistics)