アンケートの集計

この節では,アンケートの集計を行います。

今回の例は,コンピュータに関するスキル調査です。サンプルデータはこのページの下部からダウンロードできます。質問項目は次の通り。

キーボードの「ホームポジション」を知っていますか。 ( )はい ( )いいえ

キーボードをあまり見ずに打つことができますか。 ( )はい ( )いいえ

ワープロで文書を作ったことがありますか。 ( )はい ( )いいえ

表計算ソフトで計算をしたことがありますか。 ( )はい ( )いいえ

パソコンでインターネットを使ったことがありますか。 ( )はい ( )いいえ

パソコンで新しいフォルダを作ることができますか。 ( )はい ( )いいえ

ファイルやフォルダの名前を変えることができますか。 ( )はい ( )いいえ

ファイルを別のフォルダにコピーすることができますか。 ( )はい ( )いいえ

はいなら1,いいえなら0としてデータを入力してあります。

単純集計から初めて,クロス集計もやってみましょう。

単純集計

前節同様,インデックス行とインデックス列を取り除いた,データだけのリストを data とします。

dlist=Readcsv("enquete.csv");

rown=length(dlist);

coln=length(transpose(dlist));

data=apply(dlist_(2..rown),#_(2..coln));

今回は0と1なので,単純に sum(list) で値を合計すれば1の個数が数えられます。

count=apply(1..8,sum(transpose(data)_#));

これで8項目の集計結果が,リスト count に入ります。

結果として,count は

[70,32,147,96,276,100,146,76]

となります。これを表にして画面に表示します。「はい」と「いいえ」をリストの先頭に付加して,PutcoL() でまとめて表示しましょう。

yes=prepend("はい ",count);

no=prepend("いいえ",apply(count,rown-1-#));

Yoko=[50,20,20];

Tate=apply(1..coln,10);

Tabledatalight("",Yoko,Tate,[],[0]);

PutcoL(1,"c",dlist_1);

PutcoL(2,"r",yes);

PutcoL(3,"r",no);

クロス集計

次はクロス集計です。

たとえば,「ホームポジションを知っている」人の中で,「見ないで打てる」人は何人か,「ワープロ」を使ったことのある人は何人か,・・・ といったことを調べます。

試しにひとつやってみましょう。

cross=select(data,#_1==1 & #_2==1);

println(length(cross));

を実行すると,コンソールに 15 と表示されます。

つまり,「ホームポジションを知っている」人の中で,「見ないで打てる」人は15人 ということです。

これをすべての質問項目についてやります。repeat で繰り返してリストに格納します。

cross=[];

repeat(8,s,

cr=[];

repeat(8,t,

work=select(data,#_s==1 & #_t==1);

cr=append(cr,length(work));

);

cross=append(cross,cr);

);

index=["","ホーム","見ない","ワープロ","表計算","ネット","フォルダ","リネーム","コピー"];

Yoko=[40]++apply(1..8,20);

Tate=apply(1..9,10);

Tabledatalight("",Yoko,Tate,[],[0]);

Putrow(1,"c",index);

PutcoL(1,"c",dlist_1);

repeat(8,s,

repeat(8,t,

Putcell((s+1),(t+1),"r",cross_s_t+" ");

);

);

・cross がクロス集計のリストです。

・crはcrossの1行分です。

・index は横用の質問項目のリストです。項目名を短くしました。

・repeat による繰り返しで一つ一つのセルにデータを入れています。

対角線上のセルにある数が,それぞれの項目に「はい」と答えた人数です。たとえば,ワープロを使ったことのある人147人の中で,表計算もやったことのある人は65人と読めます。

キーボードを見ないで打てる人はコンピュータを結構使っている人だと思いますが,その32人の中でファイルコピーのしかたを知っている人は19人ですから,およそ3分の2ということになります。逆に見ると,ファイルコピーのしかたを知っている人76人の中でキーボードを見ないで打てる人は19人しかいないわけです。

このように,クロス集計をすると,単純集計ではわからないことがいろいろ見えてきます。

「KeTCindyCalc」に戻る>