b*****e 发帖数: 223 | 1 数据有 500 columns,大多数是 numeric,个别是 char。其实只需要其中十个左右
columns。我想这样弄的,试图把所有 columns 都读成 char,但是不行。有没有什么
好办法?我不想把 char column 一个个人为找出来单独列出来读,因为其实大部分都
用不到。
或者,有什么只读我需要的那些 columns 的读数据的方法?以前没读过这么多列的数据
,没经验
data ALLPAGE;
infile "\....\My Documents\MYDATA.txt" delimiter='09'x
firstobs=4 obs=1410 dsd lrecl=10000 missover;
input COL1-COL500 ; /* 这样 char col 都是空白 */
input COL1-COL500 $ ; /* 这样不行? */
input COL1-COL222 COL223 $ ..... COLxxx-COL500; /* 嫌麻烦 */
run; |
d*******o 发帖数: 493 | 2 Open it with Excel, then choose the cols you want |
b*****e 发帖数: 223 | 3 好像不行吧,我们要求都用最原始数据啊,不能直接在 Excel 里面做好像。
【在 d*******o 的大作中提到】![](/moin_static193/solenoid/img/up.png) : Open it with Excel, then choose the cols you want
|
D******n 发帖数: 2836 | 4 use awk or cut in unix/linux or cywin , |
d*******o 发帖数: 493 | 5 data one;
infile whatever;
informat col300-col310 $varying.;
input col1-col500;
run; |
b*****e 发帖数: 223 | 6 这样我还是要把分散的那些 char columns 给都列出来?我就是不想干这个,因为那些
char columns 我未必用到呢,一个个去找有点不情愿 //鸡贼
【在 d*******o 的大作中提到】![](/moin_static193/solenoid/img/up.png) : data one; : infile whatever; : informat col300-col310 $varying.; : input col1-col500; : run;
|
b*****e 发帖数: 223 | 7 。。。。完全看不懂了,呜呜
【在 D******n 的大作中提到】![](/moin_static193/solenoid/img/up.png) : use awk or cut in unix/linux or cywin ,
|
k*******a 发帖数: 772 | 8 data a;
array col{5} $;
do i=1 to 5;
input col{i} $ @;
if input(col{i},8.) ne . then col{i}=0;
end;
datalines;
a34 33 34 bbd 56.5
bbb 33 2 ddf 12
;
proc print data=a;run;
proc transpose data=a out=b;
var col1-col5;run;
data b;
set b;
if col1 ne 0;
proc print data=b;run;
proc transpose data=b out=c(drop=_name_);
var col1-col2;
run;
proc print data=c;run; |
d*******o 发帖数: 493 | 9 *****Request: 试图把所有 columns 都读成 char,但是不行。有没有什么
好办法?******;
data one;
infile whatever;
informat col1-col500 $varying.;
input col1-col500;
run;
***Tested**********; |
b*****e 发帖数: 223 | 10 谢大家!
用大胖猫的 informat 可行,我就用它了。 |