看板 Statistics 關於我們 聯絡資訊
TITLE請註名軟體類別 如[程式] stata SAS [軟體程式類別]: SAS [程式問題]: 資料處理 [軟體熟悉度]: 新手 [問題敘述]: 資料長成這個樣子 var1, var2, var3, var4, var5 111222333444555, 14, , 201008, U 222333444555666, 67, nui, 200812, 我的資料是csv逗號分隔的型態 第1個變數的長度固定為15碼,第2個變數也是固定長度 但第3個變數開始有的觀察值是missing 第5個變數也是有的觀察值是missing 而且每一個觀察值會missing的欄位都不太一樣 我本來是使用程式範例(在下面程式1)的指令匯入 資料是可以依逗號匯入,但第1個變數被sas判定為數字,所以會顯示成科學符號 不知道有沒有方法可以在匯入時就將該變數指定為字串,而不要是數字 另外 我也有想過用INFILE的方式 但因為剛才有提到,寫到第3個變數時有的觀察值missing的位置不一樣 所以也沒辦法用程式2的指令指定位置 所以能不能使用proc import 在匯入時就將該變數指定為字串 讓長度比較長的變數可以完整的顯示出來 感謝版友解惑 [程式範例]: (程式1) PROC IMPORT OUT= WORK.data2 DATAFILE= "\\xx\xxx\data2.csv" DBMS=CSV REPLACE; delimiter=","; GETNAMES=no; DATAROW=1; GUESSINGROWS=1000 ; RUN; 以上程式也貼在這個網址 https://ideone.com/dP7kOF (程式2) libname x "\\xx\xxx\"; FILENAME IN1 '\\xx\xxx\data2.csv'; DATA WORK.data2; INFILE IN1 MISSOVER PAD delimiter=',' dsd; INPUT var1 $1-15 var2 $18-19 ; RUN; https://ideone.com/fj78PO -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 210.241.87.243 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Statistics/M.1642840349.A.92B.html
hank4465: 應該是預設的欄位長度不夠,用length新增一個欄位把長度 01/23 07:46
hank4465: 設長一點或許能解決 01/23 07:46
我看網路上PORC IMPORT 有關長度的問題就是加GUESSINGROWS 大大的用length是指這個嗎?
jupit: proc import其實只是infile的interface,要改屬性可以從log 01/23 14:50
jupit: 把程式碼貼出來用, 或者可以在proc import加GUESSINGROWS= 01/23 14:51
jupit: 去增加proc import判斷屬性的行數,就不會被截斷了 01/23 14:52
我的GUESSINGROWS=1000了 還是不夠長會被截斷嗎? ※ 編輯: dofu1943 (36.228.56.68 臺灣), 01/23/2022 15:22:09