1

私は調査からのデータを持っています。質問は次のようになります。

Did you do any of the following activities during your PhD

                             Yes, paid by my school. Yes, paid by me.  No. 

Attended an internationl conference?
Bought textbooks? 

データは、次の方法でスプレッドシートに自動的に保存されます。

id conf.1 conf.2 conf.3 text.1 text.2 text.3

1    1                              1
2           1               1
3                   1       1
4                   1                    1
5               

これは、参加者 1 が大学が支払った会議に参加したことを意味します。参加者 2 は彼が支払った会議に出席し、参加者 3 は出席しませんでした。

conf.1、conf.2、conf.3、text.1、text.2、text.3 を単一の変数にマージしたい

id new.conf new.text

1   1        2
2   2        1
3   3        1
4   3        3

where the number now respresents the categories of the survey question

Thanks for your help
4

1 に答える 1

0

あなたの説明の複数の回答セット(質問へのコメントでリンクしているもの)が本当にあなたが望むものであるかどうかはわかりません。この例では、データを再形成する必要はまったくなく、簡単なDO REPEATコマンドで変数new.confnew.text変数を作成できます。以下の例:

data list free /id conf.1 conf.2 conf.3 text.1 text.2 text.3.
begin data
1 1 0 0 0 1 0 
2 0 1 0 1 0 0 
3 0 0 1 1 0 0 
4 0 0 1 0 0 1 
5 0 0 0 0 0 0 
end data.
dataset name conf.
*this is to replicate missing data as specified originally.
recode conf.1 to text.3 (0 = SYSMIS)(ELSE = COPY).

compute new.conf = 0.
compute new.text = 0.
do repeat conf_list = conf.1 to conf.3 /text_list = text.1 to text.3 /#i = 1 to 3.
    if conf_list = 1 new.conf = #i.
    if text_list = 1 new.text = #i.
end repeat.

次に、コマンドlist allは次の出力を生成します (変数を 0 値に初期化した方法に注意してください。実際には必要ありませんが、通常はどのように処理するかを確認してください)。

  id   conf.1   conf.2   conf.3   text.1   text.2   text.3 new.conf new.text

1.00     1.00      .        .        .       1.00      .       1.00     2.00
2.00      .       1.00      .       1.00      .        .       2.00     1.00
3.00      .        .       1.00     1.00      .        .       3.00     1.00
4.00      .        .       1.00      .        .       1.00     3.00     3.00
5.00      .        .        .        .        .        .        .00      .00

読まれた事例数: 5 掲載された事例数: 5

conf 変数とテキスト リスト変数の両方が相互に排他的である場合、理由はありませんが、データを再形成することは可能です。データを変形する必要がある場合は、幅の広いものから長いものへの変形VARSTOCASES、および長いものから広いものへの変形のコマンドのヘルプを参照してくださいCASESTOVARS

于 2012-09-11T13:32:22.930 に答える