如何使一列三个。SAS
我有一个数据集,我需要创建一个新的一列,由三列组成。我知道,我应该使用proc报告如何使一列三个。SAS,sas,Sas,我有一个数据集,我需要创建一个新的一列,由三列组成。我知道,我应该使用proc报告 I have: Number Name Food Clothes Weather 01 100 bread socks rain 02 103 apple shirt snow 02 103 milk skirt fog 03 101 meat jacket sun I need:
I have:
Number Name Food Clothes Weather
01 100 bread socks rain
02 103 apple shirt snow
02 103 milk skirt fog
03 101 meat jacket sun
I need:
Number Name COL
01 100 bread
socks
rain
02 103 apple
shirt
snow
02 103 milk
skirt
fog
03 101 meat
jacket
sun
不确定为什么要为此使用proc报告。可以通过几个表格来完成:
data have;
input Number Name Food $ Clothes $ Weather $;
datalines;
01 100 bread socks rain
02 103 apple shirt snow
02 103 milk skirt fog
03 101 meat jacket sun
;
run;
data have2;
set have;
id = _n_;
run;
proc sql;
create table want1 as select
number, name, food as third_var, id
from have2;
create table want2 as select
number, name, clothes as third_var, id
from have2;
create table want3 as select
number, name, weather as third_var, id
from have2;
quit;
data want_stack;
set want1 want2 want3;
proc sort; by number id;
run;
SO的一般过程是发布您尝试过的内容—这是一个帮助代码和调试的地方,而不是一个代码编写服务。请试一试,其他人会非常乐意帮忙的。在您的情况下,您需要通过转置和proc报告重新构造数据集。这是可行的,但结果是数据集编号、名称、第三个变量(每个数字对应食物,然后每个数字对应衣服,然后每个数字对应天气),但在任务中,我需要第三个变量,即食物、衣服、天气,然后食物、衣服,天气是另一个数字。请看我的编辑-您只需要添加一个变量,让您跟踪事物的原始位置。然后可以使用此变量对结果进行排序。