Re: [問題] SAS抓某欄變數的問題

看板Statistics作者 (陳小偉)時間17年前 (2009/03/27 10:25), 編輯推噓10(10015)
留言25則, 5人參與, 7年前最新討論串2/2 (看更多)
※ 引述《chenshinwei (陳小偉)》之銘言: : 若我有一欄變數是都有好幾個數字的, : 但是我只想抓前面兩個數字, : 請問指令該如何下啊?! : ex. : var1 var* : 1234 12 : 23215 23 : 13542 12 : . : . : . 我做了下面的指令後,仍然跑不出任何數字,可是我照書本上 打出來的?! data work.1 ; set work.1 ; var*=substr(var1, 1, 2) ; run ; 因為substr好像只能理文字,所以不能處理數字…… 故一直抓不出來…… 所以請問一下有直接處理這個數字的方法嗎? 謝謝大家回答…… -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.86.99.129 ※ 編輯: chenshinwei 來自: 219.86.99.129 (03/27 10:50)

03/27 11:31, , 1F
想知道+1
03/27 11:31, 1F

03/27 13:36, , 2F
var*是有問題的變項名
03/27 13:36, 2F

03/27 13:36, , 3F
work.1 違反了檔名不得為數字的規則
03/27 13:36, 3F

03/27 13:37, , 4F
我的建議是在讀資料時就處理
03/27 13:37, 4F

03/27 13:38, , 5F
若你的資料只有4位數和五位數 可以用下列的方法
03/27 13:38, 5F

03/27 13:42, , 6F
a=int(var1/100); b=int(var1/1000);
03/27 13:42, 6F

03/27 13:42, , 7F
if 100>a>9 then var=a;else if 100>b>9 then var=b;
03/27 13:42, 7F

03/27 13:43, , 8F
若位數比較多 就多寫一點
03/27 13:43, 8F

03/27 16:16, , 9F
會有溢位與不足位的問題 1234與 12 都除上1000時取整數?
03/27 16:16, 9F

03/27 16:19, , 10F
以及小數點..... 不過 因該都還是能處理
03/27 16:19, 10F

03/27 16:24, , 11F
我還加了條件讓他取 目前只想到笨方法
03/27 16:24, 11F

03/27 16:44, , 12F
也不是說笨 其實我以前也跑過類似 不過現在能想到是
03/27 16:44, 12F

03/27 16:45, , 13F
1.把數字轉文字來切substr 2.強制該變項只剩兩碼 put()
03/27 16:45, 13F

03/27 16:46, , 14F
此法也不是笨方法 或許是單純 一點的方法吧
03/27 16:46, 14F

03/27 17:00, , 15F
把sbustr那一行改成var=substr(left(var1),1,2)就行了
03/27 17:00, 15F

03/27 17:02, , 16F
一開始抓不到是因為var1是靠右對齊
03/27 17:02, 16F

03/27 17:02, , 17F
所以從頭抓只抓到blank而已
03/27 17:02, 17F

03/27 17:02, , 18F
可是 left 也是針對文字變項 但這邊遇到的是數字變相
03/27 17:02, 18F

03/27 17:03, , 19F
沒關係 他會自動轉 還是可以吃下去 原本的type也不會
03/27 17:03, 19F

03/27 17:03, , 20F
跑掉
03/27 17:03, 20F

03/27 17:08, , 21F
嗯嗯 在left函數 被他強制轉文字了
03/27 17:08, 21F

03/27 17:08, , 22F
或許大家想問 不轉換文字型態時 有沒有其他方法?
03/27 17:08, 22F

03/27 17:49, , 23F
原來有left可用(筆記) 感謝分享~~~~
03/27 17:49, 23F

11/09 14:52, , 24F
若位數比較多 就多寫一 https://daxiv.com
11/09 14:52, 24F

01/02 14:52, 7年前 , 25F
以及小數點..... https://muxiv.com
01/02 14:52, 25F
文章代碼(AID): #19p3a0UI (Statistics)
文章代碼(AID): #19p3a0UI (Statistics)