l*****o 发帖数: 61 | 1 有一组数据,变量名为Y, crop1, crop2, crop3, crop4.我想把数据重新排成Y
replication crop。其中变量crop包括所有crop1-crop4,那个新变量replication是1-
4, 1代表如果是crop1,2代表如果是crop2, 3代表如果是crop3,4代表如果是crop4.
用是SAS咋弄啊?谢谢!!! | l*****o 发帖数: 61 | | g**u 发帖数: 205 | 3 data a;
set b;
replication=1; crop=crop1;output;
replication=2; crop=crop2;output;
replication=3; corp=crop3;output;
replication=4; corp=crop4;output;
run;
like this?
Try if it works. | g**u 发帖数: 205 | 4 改一下,下午没看仔细。
【在 g**u 的大作中提到】 : data a; : set b; : replication=1; crop=crop1;output; : replication=2; crop=crop2;output; : replication=3; corp=crop3;output; : replication=4; corp=crop4;output; : run; : like this? : Try if it works.
| j******o 发帖数: 127 | | L**********A 发帖数: 7115 | 6 http://www.ats.ucla.edu/stat/sas/modules/widetolong_data.htm
1-
【在 l*****o 的大作中提到】 : 有一组数据,变量名为Y, crop1, crop2, crop3, crop4.我想把数据重新排成Y : replication crop。其中变量crop包括所有crop1-crop4,那个新变量replication是1- : 4, 1代表如果是crop1,2代表如果是crop2, 3代表如果是crop3,4代表如果是crop4. : 用是SAS咋弄啊?谢谢!!!
| T*******I 发帖数: 5138 | 7 Generate a new variable named Corp in a Data step:
Corp=Corp1||Crop2||Crop3||Crop4;
for example if Obs=3 has following records
Obs Y Corp1 Corp2 Corp3 Corp4
3 y3 C13 C23 C33 C43
Then you will have:
Obs Y Corp1 Corp2 Corp3 Corp4 Corp
3 y3 C13 C23 C33 C43 C13C23C33C43
Is it what you want to have?
1-
【在 l*****o 的大作中提到】 : 有一组数据,变量名为Y, crop1, crop2, crop3, crop4.我想把数据重新排成Y : replication crop。其中变量crop包括所有crop1-crop4,那个新变量replication是1- : 4, 1代表如果是crop1,2代表如果是crop2, 3代表如果是crop3,4代表如果是crop4. : 用是SAS咋弄啊?谢谢!!!
| s*********e 发帖数: 1051 | 8 array是正解
1-
【在 l*****o 的大作中提到】 : 有一组数据,变量名为Y, crop1, crop2, crop3, crop4.我想把数据重新排成Y : replication crop。其中变量crop包括所有crop1-crop4,那个新变量replication是1- : 4, 1代表如果是crop1,2代表如果是crop2, 3代表如果是crop3,4代表如果是crop4. : 用是SAS咋弄啊?谢谢!!!
| A****1 发帖数: 33 | 9 try this.hope it helps.
data one;
input y x1 x2 x3;
cards;
1 2 3 4
4 5 6 7
7 8 9 10
;
run;
data two;
set one(rename=(x1=x) in=a1) one(rename=(x2=x) in=a2) one(rename=(x3=x) in=
a3);
keep y replication x;
if a1 then replication=1;
if a2 then replication=2;
if a3 then replication=3;
run;
1-
【在 l*****o 的大作中提到】 : 有一组数据,变量名为Y, crop1, crop2, crop3, crop4.我想把数据重新排成Y : replication crop。其中变量crop包括所有crop1-crop4,那个新变量replication是1- : 4, 1代表如果是crop1,2代表如果是crop2, 3代表如果是crop3,4代表如果是crop4. : 用是SAS咋弄啊?谢谢!!!
| s*********e 发帖数: 1051 | 10 data one;
input y x1 x2 x3;
cards;
1 2 3 4
4 5 6 7
7 8 9 10
;
run;
data two (keep = y replication x);
set one;
array a{*} x:;
do i = 1 to dim(a);
replication = i;
x = a[i];
output;
end;
run; | l*****o 发帖数: 61 | | t*******t 发帖数: 633 | 12 请问有没有关于array a{*} x:;的用法解释呢?
还从来没用用过x:呢, 谢谢啦:)
【在 s*********e 的大作中提到】 : data one; : input y x1 x2 x3; : cards; : 1 2 3 4 : 4 5 6 7 : 7 8 9 10 : ; : run; : data two (keep = y replication x); : set one;
|
|