全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
5303 6
2013-12-30
有一列数据:如下:
       A
1   23
2  345
3  234
4  123
5    12
6      2
把它拆成3列,结果如下:
    A1   A2    A3
1          2       3
2   3     4       5
3   2     3       4
4   1     2       3
5          1       2
6                   2
应该怎么做呢?谢谢大家!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2013-12-30 16:01:32
你是数据文件就是这样的吗?最前面的字符会被删掉的。

DATA survey;
   INPUT id Col1 $4 Col2 $5 Col3 $6;
   DATALINES;
1   23
2  345
3  234
4  123
5   12
6    2
;
RUN;
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-12-30 16:16:29
zw612003 发表于 2013-12-30 16:01
你是数据文件就是这样的吗?最前面的字符会被删掉的。

DATA survey;
谢谢。原数据文件是一个很长的列,它是一个调查的一部分,像你这样的话,太慢了,有没有其他方法呢?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-12-30 17:09:40
data test;
   input a ;
   length a 3;
   datalines;
23
345
234
123
12
;
proc print noobs data=test;run;
data new;
  set test;
  b=put(a,3.);
  array x[3];
  do i = 1 to 3;
     x[i] = input(substr(b,i,1),1.);
  end;
  drop a b i;
run;
proc print noobs data=new;run;
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-12-30 19:32:25
yugao1986 发表于 2013-12-30 17:09
data test;
   input a ;
   length a 3;
太感谢了,您帮我了大忙了。谢谢。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-12-30 20:37:23
data Result;
        infile datalines truncover;
        input
                @1 VAR1 1.
                @2 VAR2 1.
                @3 VAR3 1.;
datalines;
23
345
234
123
12
  2
run;

用@1标记Var1变量出现的位置,这样如果第1个位置是空格的话,就会变成缺失值了。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群