,我会很感激,如果你能给我一些提示(该怎么做,或有什么程序来看看)对以下问题 :SAS:对于一个给定的变量的所有组合创建平均值
例如,如果我有一个包含(对于每个品牌)4个字符变量和3个数值变量的数据集,那么我想根据字符变量的所有可能组合计算几个数值变量的平均值(无论是某些字符变量缺失或不)。
Brand Char1 Char2 Char3 Char4 NumVar1 NumVar2 NumVar3
A a xx 3 a 0.471 0.304 0.267
A b xy 3 s 0.086 0.702 0.872
A c xz 3 a 0.751 0.962 0.080
A d xx 2 s 0.711 0.229 0.474
A a xy 3 a 0.160 0.543 0.256
A b xz 1 s 0.200 0.633 0.241
A c xx 3 a 0.765 0.511 0.045
A d xy 4 s 0.397 0.815 0.950
A a xz 1 a 0.890 0.757 0.483
A b xx 3 a 0.575 0.625 0.341
A c xy 3 a 0.595 0.047 0.584
A d xz 1 s 0.473 0.806 0.329
A a xx 2 s 0.062 0.161 0.018
A b xy 2 s 0.935 0.990 0.072
A c xz 4 s 0.564 0.490 0.112
A d xx 2 a 0.251 0.228 0.215
A a xy 4 a 0.551 0.778 0.605
A b xz 1 s 0.887 0.392 0.866
A c xx 1 s 0.238 0.569 0.245
A d xz 1 a 0.736 0.961 0.627
因此,我想计算如下(在SAS符号没有写,只是逻辑上):
%let numeric_var = NumVar1 NumVar2 NumVar3; *macro of all numerical variables;
*compute mean values for each NumVar by all combinations of Char.variables;
compute mean(&numeric_var) by Char1 Char2 Char3 Char4
compute mean(&numeric_var) by Char1 Char2 Char3
compute mean(&numeric_var) by Char1 Char2
compute mean(&numeric_var) by Char1
compute mean(&numeric_var) by Char1 Char2 Char4
compute mean(&numeric_var) by Char1 Char4
compute mean(&numeric_var) by Char1 Char3 Char4
etc.
是否有SAS任何更有效的方式来计算所有这些平均数不仅仅是用手键入所有这些组合?
原则上,最后我想合并两个数据集:上面给出的一个数据集;和另一个仅包含字符变量(品牌Char1 Char2 Char3 Char4)的数据集,其中一些数据集缺失。这就是为什么我想计算字符变量的所有可能组合的数值变量的平均值。
非常感谢任何想法。
最佳, Vlada
在多个论坛上交叉发表相同的问题没有任何问题,但是您可能会注意到,如果您在一个地方得到了更好的答案,那么在其他论坛上找到答案的搜索者可以找到解决方案。 – Joe