memiscGUIアップデート(リコード機能,ログ機能追加)
リコード機能とログ機能を付けました。
追記
リコードのrange記法を追記しました。
リコード機能
変数上で右クリックしてリコードを選択すると,リコードのダイアログが表示されます。
一番上がその変数に存在している値です。その下の左側が変数の値とラベルの対応関係です。この二つを分けている理由が一見分からないかもしれませんが,ラベルは存在していない値にも付けることができ,反対に値は存在するがラベルはついていない場合があるので,そういったことを確認するためにこうこう構成にしています。
ラベルの欄の右側ついては,一番上がいまリコードしている変数の名前,その下がリコード結果を保存する変数の名前です。リコード先にリコード元と同じ名前,またはデータセット中に存在する変数名を入力すると,上書きされます。データセット中に存在しない変数名を入力すると,新変数として付け加えられます。
その下の「テンプレートの生成」ボタンを押すと,その下にリコードのテンプレートが生成されます。基本的に,これを書き換えてリコードすることになります。下の画像が実例です。
この例では,1は1のまま,2と3を2に統合して「中」というラベルを付ける,4と5を3に統合して「下」というラベルを付ける,その他の値はそのまま,というふうになっています。
otherwiseはこの例では意味がありませんが,リコードを指定していない「その他の値」についての処理を記述します。例えば一行目の1の値については,otherwise="copy"を指定しているので,今回の場合消してしまっても同じ結果になります。otherwise=NAにすれば「その他の値」は欠損値になりますし,otherwise=3とすれば「その他の値」はすべて3になります。
量的変数をカテゴリ変数にリコードしたい場合,range記法が便利です。
"低"=1 <- range(min , 40), "中"=2 <- range(40.01, 60), "高"=3 <- range(60.01, max)
このように書くと,最小値から40までが1でラベル「低」,40.01から60までが2でラベル「中」,60.01から最大値までが3でラベル「高」というふうにリコードされます。値を重複させるとエラーになるので気をつけてください。
基本的な書き方はmemiscパッケージのrecode()関数と同じです。詳細はそちらを参照してください。