P****l 发帖数: 156 | 1 先谢谢 大牛们。
想问大家 这个array可不可以用macro实现。
因为每次 factor的数量都不确定,不知道如何可以让sas依据factor 数量来写出相对
数量的array
array Factor1s {*} r_Factor1_1-r_Factor1_3;
array Factor2s {*} r_Factor2_1-r_Factor2_3;
array Factor3s {*} r_Factor3_1-r_Factor3_3;
再次谢谢大家了 |
s*********e 发帖数: 1051 | 2 you don't need macro. try below:
data one; r_Factor1_1 = 1; r_Factor1_2 = 2; r_Factor1_3 = 3; run;
data two;
set one;
array x{*} r_Factor1_:;
do i = 1 to dim(x);
x[i] = x[i] * 10;
end;
run; |
P****l 发帖数: 156 | 3 谢谢这位大牛同学
我可能没有说清楚
我不知道 一个data做完 factor analysis 以后会有几个factor
比如说 data A 有 3 个factor 加上 ID 原本data应该是 3行4列
然后我想把它变成 一行的data
用了
array ids {*} r_id_:;
array Factor1s {*} r_Factor1_:;
array Factor2s {*} r_Factor2_:;
array Factor3s {*} r_Factor3_:;
比如说 data B 给出的结果是 有5个factor
那我就要再多写 两行 array
有没有什么办法 我知道有 几个factor 就让sas写几个array
谢谢啦!
【在 s*********e 的大作中提到】 : you don't need macro. try below: : data one; r_Factor1_1 = 1; r_Factor1_2 = 2; r_Factor1_3 = 3; run; : data two; : set one; : array x{*} r_Factor1_:; : do i = 1 to dim(x); : x[i] = x[i] * 10; : end; : run;
|
s******r 发帖数: 1524 | 4 Not sure I follow your question but dictionary.columns should work for you.
【在 P****l 的大作中提到】 : 谢谢这位大牛同学 : 我可能没有说清楚 : 我不知道 一个data做完 factor analysis 以后会有几个factor : 比如说 data A 有 3 个factor 加上 ID 原本data应该是 3行4列 : 然后我想把它变成 一行的data : 用了 : array ids {*} r_id_:; : array Factor1s {*} r_Factor1_:; : array Factor2s {*} r_Factor2_:; : array Factor3s {*} r_Factor3_:;
|
D**g 发帖数: 739 | 5 EFA? 确定factor后为什么要把wide变成long format?
【在 P****l 的大作中提到】 : 谢谢这位大牛同学 : 我可能没有说清楚 : 我不知道 一个data做完 factor analysis 以后会有几个factor : 比如说 data A 有 3 个factor 加上 ID 原本data应该是 3行4列 : 然后我想把它变成 一行的data : 用了 : array ids {*} r_id_:; : array Factor1s {*} r_Factor1_:; : array Factor2s {*} r_Factor2_:; : array Factor3s {*} r_Factor3_:;
|