看板 Statistics 關於我們 聯絡資訊
※ 引述《lsshno1 (朝右邊鋒邁進)》之銘言: : 大家好,想請問大家兩個問題. : 首先, 我的資料長的如下: : y1 y2 y3 y4 y5 y6 . . . . . y14 : N0 N0y1 N0y2 . . .. .. : N1 N1y1 N1y2 : N2 . . . . .. : N3 : N4 : 想請問大家我應該怎麼計算 x1=N0y1 : x2=N1y1+N0y2 : x3=N2y1+N1y2+N0y3 : (也就是x_i=sum(NxYy) given x+y=i) : 謝謝大家!! 提供一下我的想法, 作14個新的變數,假設是a1 a2 .... a14 a1=y1 ; a2=lag1(y2) ; ..... ; a14=lag13(y14) ; (有點忘了lag函數是不是這樣用了) 剛剛開SAS試過,是這樣沒錯 新的資料應該長的像 a1 a2 a3 . . . . . y14 N0 N0y1 . . . . . . . . N1 N1y1 N0y2 . . . . . . . N2 N2y1 N1y2 N0y3 N3 ... .. N13 N13y1 n12y2 ...... N0y14 N499 N499y1 N498y2 N486y14 ( 是這樣嗎? 不是很確定你的資料是不是14*14, 如果是的話應該是從N0到N13 ) 再令if a1=. then a1=0; if a2=. then a2=0; ( 印象中數字加 . (null) 的話會變 . ) 最後x=a1+a2+.....+a14; x就是你要的值 當然如果熟 macro 的話應該可以做到無論幾乘幾都可以一次搞定 不過我不是很熟,14還不算多,這樣應該可以滿足你的需求了 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.119.145.80 ※ 編輯: MmmRrrrX 來自: 140.119.145.80 (04/06 00:21)
lsshno1:我剛剛在洗澡的時候也有想到這個作法 04/06 00:25
lsshno1:不過我的data是500*14 04/06 00:26
lsshno1:謝謝大家!! 04/06 00:28
檢視一下 x500=N499y1+N498y2+N497y3+ ....... + N486y14 感覺上這樣的做法結果跟你要的是一樣的 因為你第一個是N0不是N1,不好轉過過來 -.-" ※ 編輯: MmmRrrrX 來自: 140.119.145.80 (04/06 00:39) ※ 編輯: MmmRrrrX 來自: 140.119.145.80 (04/06 00:41)