1列が1つの選択肢に対する回答を表すアンケートデータを集計したい

アンケートデータでは、1つの質問に対する各選択肢の選択状況が個別の列として展開されている形式で提供されることがあります。このような形式のデータは、回答スコアの平均値を計算したりクロス集計を行ったりする際に扱いにくいという課題があります。Exploratoryでは、ワイド型のデータをロング型に変換し、さらに質問と回答を分割することで、集計しやすいデータ形式に変換することができます。

役立つ人

アンケートデータの分析を行う方のうち、1つの質問に対する各選択肢の選択状況が個別の列として展開されている形式のデータをお持ちの方にお役立ていただける機能です。

問題

アンケートデータにおいて、1つの質問に対する各選択肢(スコア1、2、3、4など)が個別の列として展開されており、各列には回答があれば1、なければ0が格納されている形式のデータがあります。

このようなワイド型のデータでは、質問ごとの平均スコアを計算したり、属性別にクロス集計を行ったりすることが困難です。

解決方法

ワイド型のアンケートデータをロング型に変換し、質問と回答を別々の列に分割することで、集計しやすいデータ形式に変換できます。

具体的には、複数の回答列を1つの列にまとめた後、回答がある行のみにフィルタし、質問と回答のスコアを別々の列に分割します。

今回は1行が1人の回答者を表し、列には回答者の属性情報(顧客回答者ID、年齢、性別など)と、各質問の選択肢ごとの回答状態(0または1)が含まれているアンケートデータを利用します。

各質問の選択肢は「アフターフォローの充実度_1」「アフターフォローの充実度_2」のように、質問名とスコアが列名として展開されており、回答者がその選択肢を選んだ場合は1、選ばなかった場合は0が格納されています。

AI プロンプト

テーブルビューから「AIデータ加工」ボタンをクリックします。

AIプロンプトのダイアログが開いたら、プロンプト入力欄に以下のプロンプトを入力し実行します。

アフターフォローの充実度1から導入の簡単さ5までの列を1つの列にまとめて

プロンプトを実行すると、AIが自動的にデータ加工のためのRスクリプトを生成します。

「プレビュー」ボタンをクリックすると、実際の結果を確認できます。

生成されたコードでは、複数の列を1つの列にまとめる処理、質問項目と評価を分割する処理、そして回答値が1の行のみをフィルタリングする処理が含まれています。

「ステップとして実行」ボタンをクリックすることで、処理が実行され、質問項目と評価が分割されたデータが作成されます。

ただし、AIが生成した結果では評価の列が文字列型になっています。

そのため、数値として集計を行いたい場合は、評価列のヘッダーメニューから「データタイプを変換」を選択し、数値型に変換します。

これでアンケートデータを集計しやすい形式に変換できました。

UI

ワイド型からロング型への変換

まず横に広がっているワイド型のデータを縦長のロング型に変換します。

アンケートの質問列を選択するため、複数の質問列を選択し、選択した列のいずれかの列ヘッダーメニューから「ワイド型からロング型」、「選択された範囲」を選択します。

データをワイド型からロング型に変換するためのダイアログが表示されたら、今回の処理を適用した開始列と終了列を選択します。

キー列には「質問と回答」と入力し、値の列には「回答状態」と入力します。

なお、キー列には元の列名(質問と回答の組み合わせ)が格納され、値の列には0(回答なし)または1(回答あり)が格納されます。

設定が完了したら「実行」ボタンをクリックします。

これでアンケートの質問と回答、回答状態の情報が1つの列にまとまりました。

回答がある行のみをフィルタリング

次に回答状態が0の行(回答がない行)を除外します。

回答状態列のヘッダーメニューから「フィルタ」、演算子に「等しい」を選択します。

フィルタのダイアログが開いたら値に「1」を入力します実行します。これにより、実際に回答がある行のみが残り、回答がある行のみにデータをフィルタきました。

質問と回答を分割

現在の状態では、質問と回答がアンダーバー区切りで1つの列にまとまっているため、これを分割します。

「質問と回答」列のヘッダーメニューから「分割」を選択し、サブメニューから「…で列に分割」、区切り文字に「アンダースコア(_)」を選択します。

ダイアログが開いたら、新しい列名を「質問」と「回答」に設定します。

「実行」ボタンをクリックします。

これで質問と回答が別々の列に分割され、アンケートデータを集計しやすいロング型のデータに変換できました。

集計表の作成

最後に、変換したデータを使って簡単な集計表を作成します。

チャートビューに移動し、チャートタイプに「ピボットテーブル」、行に「質問」、値に「回答」を選択し集計関数に「平均値」を選択します。

これにより、各質問の回答スコアの平均値が計算されます。

さらに性別ごとに集計したい場合は、列に「性別」を選択することで、男女別のアンケート回答スコアの平均を集計できました。

ビデオ

参考情報

  • 自然言語でデータを加工できるAI プロンプト機能の紹介 - リンク
  • AI プロンプトのベストプラクティス - リンク
Export Chart Image
Output Format
PNG SVG
Background
Set background transparent
Size
Width (Pixel)
Height (Pixel)
Pixel Ratio