0

cjoint パッケージを使用することを期待して、コンジョイントの設計調査を行いました。cjoint パッケージのサンプル データは次のようにフォーマットされます。

head(model)
  CaseID contest_no          FeatEd             FeatJob
1      4          1     high school               Nurse
2      4          1       no formal Child care provider
3      4          2 graduate degree            Gardener
4      4          2       4th grade Construction worker
5      4          3     high school               Nurse
6      4          3  college degree Child care provider
                  FeatLang Chosen_Immigrant
1 tried English but unable              Yes
2         used interpreter               No
3           fluent English               No
4           fluent English              Yes
5           broken English              Yes
6           fluent English               No

「Case ID」は各回答者を表し、「contest_no」は各回答者が完了する個々のタスクを表します。この場合、各回答者は 5 つのタスク (タスク 1 から 3 を表示) を完了し、各タスクは 2 つのプロファイルを比較しています。各プロファイルは、属性「FeatEd」、「Featjob」、「FeatLang」によって異なります。選択したプロファイルは「Chosen_Immigrant」としてリストされ、はいまたはいいえのインジケーターが付きます。

私の現在のデータは次のとおりです。

  • 回答者によって折りたたまれました。同じ行のすべてのタスク、プロファイル、および属性。
  • 各行内の属性によってランダム化されます。

例えば:

has[1:3,12:16]
              F.1.1
1     Affordability
2 Community Support
3            Height
                                                          F.1.1.1
1 Affordable units will be built off-site, elsewhere in the city.
2                        Most people in the community support it.
3                                                       3 stories
          F.1.2                                F.1.1.2             F.1.3
1 Party Support    Local Republican Party supports it. Community Support
2       Parking All residents will park on the street.     Affordability
3      Location                   In your neighborhood     Affordability

F.1.1 は、タスク 1 の属性タイトルを表します。F.1.1.1 は、プロファイル 1 のタスク 1 の属性値です。F.1.2.1 (表示されていません) は、プロファイル 2 のタスク 1 の属性値です。F. 1.2. は、タスク 1、属性 2 のタイトルです。F.1.1.2 は、プロファイル 1 のタスク 2 の属性値です。以下同様...

私が理解しているように、データ フレームを cjoin の例のデータ フレームと一致させるには、次のことを行う必要があります。

  1. 属性の定義された順序で各行を並べ替えます。例: c("手頃な価格", "パーティー サポート",...)
  2. 行内の各属性の位置を使用して、各プロファイルに提供される関連レベルを取得します。F.1.1 の場合。「手頃な価格」、F.1.1.1 と F.1.2.1 の比較をつかみます。行ごとに並べてグループ化します。
  3. 行 ID が回答者とタスクによって実行され、列名が属性になり、セルが属性レベルを表すように、データ フレームをワイドからロングに変更します。

ステップ 3 は、reshape2 または tidyr のいずれかで解決できると思います。ただし、セル値を指定して行内の列でソートし、行内の関連する他のセルを取得することについての助けは、非常に高く評価されます。

4

0 に答える 0