看板 Statistics 關於我們 聯絡資訊
※ 引述《dofu1943 (那就念吧~~)》之銘言: : 我的資料欄位中有一欄是英文字母 : 例如: : varA varB : 1 G : 2 H : 3 H : 4 M : 5 G : 我想要將varB的H和M變成1並且成為varC : 所以我用 : select; : when ( varB='H' or varB='M' ) varC=1 : otherwise varC=0; : end; : 因為有爬過文,有人提到如果要sas篩選的欄位是文字 : 例如變數b的英文字母 : 要使用' '才行 : 但我也試了,就是不行,而且varC產生的數值會全部變成0 : 另外,我也在if then delete的指令中 : 對文字的欄位使用 : 例如 : if varB='G' then delete; : 但是卻一筆都沒有被刪除 : 也沒有產生error的訊息 : 不知道有沒有版友可以幫忙 : 感謝 data a; input varA varB $; datalines; 1 G 2 H 3 H 4 M 5 G ; run; data a; set a; select; when ( varB='H' or varB='M' ) varC=1; otherwise varC=0; end; run; 這樣跑是OK的 所以要看看你的資料和log檔才有辦法知道跑不出來的原因 -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 36.224.42.153
dofu1943:t大感謝您的幫忙,不過您上篇推文的語法 09/13 19:47
dofu1943:if substr(varb,1,1) in ('G','H' then varc=1;else varc 09/13 19:48
dofu1943:是不是加上=0)就可以了,因為想說有沒有可能是我把substr 09/13 19:49
dofu1943:和when分開寫所以產生未預料到的結果,故想直接寫一次語法 09/13 19:50
dofu1943:就搞定,不過,您這篇提供的寫法,我之前的確就試過了,也有 09/13 19:51
dofu1943:注意大小寫,但沒有跑出來想要的東西,而且...log檔也沒有 09/13 19:51
dofu1943:秀出來ERROR的訊息~~所以....蠻怪的,再次感謝t大的幫忙 09/13 19:52
dofu1943:t大~~感謝您,我今天試出來了,感恩感恩 09/14 21:58