1

次の問題について、ヒント(どのように行うか、またはどの手順を確認する必要があるか)を教えていただければ幸いです。

たとえば、(ブランドごとに) 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 にありますか?

原則として、最後に 2 つのデータセットをマージしたいと思います。文字変数 (ブランド Char1 Char2 Char3 Char4) のみを含む別のデータセットと、それらの一部の値が欠落しています。そのため、文字変数の可能なすべての組み合わせで数値変数の平均を計算したいのです

アイデアをお寄せいただきありがとうございます。

ベスト、ヴラダ

4

2 に答える 2