Re: 要如何用SAS做一種資料的相加...
※ 引述《tew (咖啡王子)》之銘言:
: ※ 引述《tlm (Netherlands)》之銘言:
: : 有一組資料結構是這樣的:
: : A B C
: : 1 a1 b1 c1
: : 2 a2 b2 c2
: : 3 a3 b3 c3
: : . .. .. ..
: : . .. .. ..
: : i ai bi ci
: : A、B、C是三個變數
: : 如果我希望做
: : 若a1 = b2 且 a2 = b1 則 c1 + c2
: : 簡言之就是若有兩筆資料的A和B交錯相等 就要把它們的C相加
: : 用SAS要怎麼寫呢?
: if a=lag(b) and b=lag(a) then d=c+lag(c);
: 加入這個指令就沒問題了
: 第三行
你這個程式的邏輯是
若A和下一個的B相等 同時B也和下一個的A相等 則把C和下一個C加起來
我的前幾份資料可以這樣做
但是後面的還是不行
因為要加的資料都沒有排在相鄰兩行
(ex. a1=a10 且 a10=a1 要做c1+c10)
我希望的邏輯 重點是那一句:
"凡是兩筆資料的A和B交錯相等 則把它們的C相加"
什麼程式可以直接做呢...
還有
LAG語法在SAS HELP裡面這樣寫:
Syntax
LAG<n>(argument)
Arguments
n
specifies the number of lagged values.
argument
is numeric or character.
它是說argument為數值或字符都可以
可是我試了字符的情況(A$ B$ C)
好像不能跑耶?
SAS裡面是怎樣定義兩字符相等呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.200.11
討論串 (同標題文章)