基礎セミナー 2018年度 ex07†
表計算ソフト(スプレッドシートソフト)を使って初歩的なデータ分析をやってみよう.ここでは,クラウド上で表計算ソフトを使ってみることにします.
成績データの集計をしよう(1)†
スプレッドシートの新規作成†
- Kiso/2018 からリンクしてる「この科目の Google Drive」に行って,Google スプレッドシートのファイルを新規作成しよう
- 左上の「新規」> 「Google スプレッドシート」
- 「ファイル」> 「名前を変更」(または上部のファイル名をクリック)でファイル名を変更.
ex07-T180XYZほげほげお
という名前にしよう(XYZほげほげおは自分に合わせて変えてください).
ファイルからデータを読み込もう†
数値を手入力する方法だとあまりたくさんのデータを扱えないので,ここではファイルから読み込むことにする.
- 「ファイル」> 「インポート」で読み込むファイルを選択する.「ファイルをインポート」のウィンドウで「マイドライブ」または「共有アイテム」から「Kiso2018」>「ex07」とたどる.
- 以下の2つのファイルが見えるので,どちらかを選択(*)して「現在のシートに追加する」
mpi100-mac.csv および mpi100-win.csv
- (*)これらのファイルの内容は同じ(文字コードと改行文字が異なる).Google スプレッドシートはどちらのファイルでも正しく読み込める.
- これらのファイルには,100人分の「数学」,「物理」,「情報」の点数が保存されている.インポートした結果を見ると,A列(左端の列)が100人に付けた番号,その右隣の列(B列)が「数学」の点数,等となっていることがわかる.3科目の点数は0点以上100点以下の整数である.
表計算ソフトのお約束†
- 数値や文字列の入る箱を「セル」という.セルは縦横に並んでおり,縦方向(行の方向)には1,2,3,...と自然数の行番号がついている.横方向(列の方向)には,↑で述べたようにA, B, C, ... とアルファベットの列番号がついている.ちなみに,Zの次はAA, AB, AC,... と続く.
- 行番号と列番号の組み合わせで個々のセルの住所を表せる.セル「B1」には「数学」と書かれているはず.セルA1をクリックして,「番号」と書いておこう.
- セルには,数や文字だけでなく,計算式を書いて計算結果を表示させることもできる.セルB102をクリックして,次のように入力してみよう.
=AVERAGE(B2:B101)
最初の等号を忘れずに.AVERAGEはaverageでもよい.B2 と B101 の間には「:」(コロンと呼ぶ)が挟まっている.「B2:B101」は「セルB2からB101までの範囲」を表し,AVERAGE は「括弧の中に指定された範囲の数値の平均」を計算する.この AVERAGE のようなものを「関数」と呼ぶ.式を入力して Enter を押すと計算結果が表示されるはずである.
- 「セル」,「行番号」,「列番号」,「関数」などは Google スプレッドシートだけでなく,世の中の様々な表計算ソフトのほとんどでお約束となっているものたちである.関数については,代表的なもの(上記の例の平均を求める関数 AVERAGE や和を求める関数 SUM など)は多くのソフトで共通だが,一部ソフトでしか使えないものや使い方(括弧の中身の描き方など)が違う場合もある.
- 「物理」の平均を求めよう.
- 「情報」の平均を求めよう.ただし,次のようにして計算式の入力をさぼってみよう.
物理の平均(セルC102)を選択した状態で表示されている枠線の右下の小さい四角を右に引っ張る
- D102がどんな式になっているか,セルをクリックして上部の「fx」と書かれたところの内容を見てみよう.
- セルA102に「平均」と書いておこう.
- メニューバーの 田 のようなアイコンをクリックすると,セルに枠線をつけることができる.
次のようにして「範囲を指定」して枠線を付けてみよう.範囲を指定するには次のどちらかの操作をすればよい.
- 範囲の一つの端をからもう一方の端までマウスカーソルをドラッグする
- 範囲の一つの端で左クリック,もう一方の端でシフト(Shift)キーを押しながら左クリック
- check Step1 ここまでできたら takataka に知らせてください.
計算式を追加してさらに集計しよう†
- E列が3科目の点数の合計になるようにしよう.
- E1には「合計」と書こう.
- E2以下には式を書く.例えばセル E2 に
= B2 + C2 + D2
と書けば,これら3つのセルの値の合計が表示されるはずである.
- セル E2 の中身を
= SUM(B2:D2)
にして,同じ結果が得られることを確認しよう.実は,これら2つの式は,微妙に振る舞いが異なる(列と列の間に新しい列を追加してみたらわかる).
- セル E2 に
= SUM(
まで入力して,そこからマウスで範囲を指定することもできる(最後に括弧を閉じるのを忘れずに).
- セルE3 以降は,「情報」の平均の式を入力するのをサボったのと同様にして楽をしてみよう.
- 103行目に100人の点数の標準偏差を表示させよう.
- A103 に「標準偏差」と書く
- 標準偏差を求める関数の名前はなんとすればよいか調べよう
- 実際に書いてみよう
- check Step2 ここまでできたら takataka に知らせてください.
成績データの集計をしよう(2)†
平均や標準偏差などだけではわかりにくいので,グラフを描いてみよう.
点数のヒストグラムを描こう†
- B1:B101 を選択した状態で,上部のメニューバーから「グラフを挿入」をクリック
- グラフと「グラフエディタ」というウィンドウが出現するだろう.グラフエディタをいじって,グラフを「ヒストグラム」にしよう.
- タイトル,横軸の範囲,凡例,等をいろいろいじってみよう.ヒストグラムは5点刻みにしよう.
- check Step3 ここまでできたら takataka に知らせてください.
- 他の2科目についても同様のヒストグラムを描こう.
2科目の点数の散布図を描こう†
- B1:C101 を選択してグラフを挿入し,「散布図」を選択してみよう.
- 横軸が数学,縦軸が物理の点数を表すようにしよう.それぞれの軸の値の範囲を 0 から 100 までに合わせよう.
- 横軸縦軸の長さを合わせよう.
- タイトルやラベル,凡例などをつけよう.
- check Step4 ここまでできたら takataka に知らせてください.
- 他の2科目の組み合わせでも同様のグラフを描いてみよう.
相関係数を計算しよう†
- CORREL という関数を使うと,「相関係数」を計算することができる.使い方を調べて,数学と物理やその他の2科目間の相関係数を計算してみよう.
- 相関係数とはどういう意味の量か,ウェブ等で調べよう.
成績データを分析しよう†
check Step5 次のことを考えて takataka に伝えてください.
- 各科目の点数のヒストグラムと平均・標準偏差との間にはどのような関係があるか?
- 3科目とも55点だった人は,どの科目の点数が一番「よい」だろう?
- 数学が平均より10点よいのと,物理が平均より10点よいのとでは,どちらが「よい」だろう?
- 3科目の点数の関連性について,どういうことが言えるだろう? ある科目の点数が良い人は,他の科目の点数も良いのだろうか?
- 相関係数の値や正負は何をあらわしているだろう?
回帰分析の初歩†
気温 \( x \) [度] とアイスの売れた数 \( y \) [個] のような2つの量の間の関係を表す式を求めて分析する,回帰分析 と呼ばれる手法の初歩を体験してみよう.
データの入手,散布図の描画,並べ替え†
- 成績データの分析をしたスプレッドシート「ex07-T180XYZほげほげお」に新しいデータをインポートしよう.このスプレッドシートを開いた状態で,「ファイル」 > 「インポート」する.成績データと同じ場所にある
line-mac.csv および line-win.csv
のいずれかをインポートしよう.その際,「新しいシートを挿入する」にして,開いているスプレッドシートに追加すること.ウィンドウ下部を見れば2つのタブがあり,それらをクリックすることで成績データのシートと今追加したばかりのデータのシートを切り替えることができる.
- x と y の値の散布図を描こう
- 値の変化をわかりやすくするため,x の列を基準にしてデータを並べ替えてみよう.
- 列Aをクリック → 列BをShift押しながらクリックして範囲指定
- メニューの「データ」を選ぶと,
列Aを基準に...
といった選択肢が表示されるので,x の値に小さいものが上にくるようになるものを選んでみよう.
- このデータも先の成績データも,(x, y) や (数学, 物理, 情報) のように数値が組になっており,1行がひとかたまりの値を表すので,どれか1列だけ並べ替えたりするとデータが壊れてしまいますね.
適当に直線をあてはめてみる†
散布図と並べ替えたデータを眺めると,このデータには,x が大きくなると y が小さくなる関係があり,ばらつきはあるものの,x と y の関係を直線の式(\( y = ax + b \) という形)で表せそうである.というわけ,次のことをやってみよう.
- セル E1, F1 に a, b と書き,それぞれの下のセル E2,F2 に適当な実数値を入れる
- セル C1 に a*x+b と書き,C2以下のセルが「そのセルと同じ行の x の列の値にE2の値を掛けて F2 の値を足したもの」になるように式を書く.
- C2 に式を書いたあと,その下のセルに同じ式を書くのをサボろうとドラッグすると,うまくいかないことがわかるだろう.その原因は,C2 に書いた式をドラッグして C3 にコピーすると,ソフトが気をきかせて式中の E2, F2 を勝手に E3, F3 にしてくれちゃうせいである.
- そのような動作をさせないためには,C2 の式の中の E2 の箇所を「E$2」と,2の前に「$」をつけた形にしておいてやればよい(Fの方も一緒).
- 上記の $ 記号の意味については,「絶対参照」と「相対参照」をキーワードに調べてみたらよい.この例では,Eの方にも $ をつけて「$E$2」としてもよい.
- a, b の値を変えると,C列の値は自動的に計算し直される.いろいろ変えて,y 列の値になるべく近い値が作れるようにしよう.
- 散布図の設定を変更して,A列の値に対するC列の値も表示させよう.
- check Step6 ここまでできたら takataka に知らせてください.