,我會很感激,如果你能給我一些提示(該怎麼做,或有什麼程序來看看)對以下問題 :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