[程式] SAS的轉置
[軟體程式類別]:
SAS
[程式問題]:
資料處理
[軟體熟悉度]:
中(3個月到1年)
[問題敘述]:
最後一步的PROC TRANSPOSE,我想要把資料one變成的格式是:
YR MX1_1 MX1_2 MX2_1 MX2_2....
試了幾次的PROC TRANSPOSE,卻一直轉到WIDE TO LONG的格式
請問該怎麼下語法才能讓資料one轉成LONG TO WIDE ?
謝謝
[程式範例]:
data one;
input yr sex $ group x1 x2 x3 x4;
cards;
1979 F 1 0.024 0.042 0.058 0.249
1979 F 2 0.034 0.050 0.054 0.406
1979 M 1 0.029 0.039 0.058 0.748
1979 M 2 0.028 0.038 0.040 0.598
1980 F 1 0.021 0.030 0.038 0.247
1980 F 2 0.039 0.053 0.055 0.413
1980 M 1 0.026 0.035 0.046 0.748
1980 M 2 0.027 0.035 0.036 0.601
1981 F 1 0.017 0.022 0.032 0.235
1981 F 2 0.036 0.051 0.054 0.419
1981 M 1 0.020 0.027 0.045 0.745
1981 M 2 0.022 0.030 0.032 0.610
1982 F 1 0.031 0.040 0.065 0.232
1982 F 2 0.047 0.065 0.073 0.414
1982 M 1 0.040 0.051 0.098 0.732
1982 M 2 0.049 0.059 0.064 0.582
;
run;
PROC MEANS DATA=ONE NOPRINT;
BY YR GROUP;
VAR X1-X4;
WHERE SEX="M";
OUTPUT OUT=MK(DROP = _TYPE_ _FREQ_) MEAN=MX1 -MX4;
RUN;
PROC MEANS DATA=K1;
BY YR;
VAR MX1-MX4;
OUTPUT OUT=MK(DROP=_TYPE_ _FREQ_) MEAN=XMX
PROC MEANS DATA=ONE;
BY YR GROUP;
VAR X1-X4;
WHERE SEX="F";
OUTPUT OUT=FK(DROP = _TYPE_ _FREQ_) MEAN=FX1 -FX4;
RUN;
DATA K1;
MERGE FK MK;
BY YR;
RUN;
PROC SORT DATA=K1;BY GROUP;RUN;
PROC TRANSPOSE DATA=K1 OUT=K2;
BY GROUP ;
VAR FX1-FX4 MX1-MX4;
RUN;
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.86.136
※ 編輯: bcs 來自: 140.112.86.136 (10/09 22:11)
※ 編輯: bcs 來自: 140.112.86.136 (10/09 22:12)