→ 携帯用は別頁
◇この教材は,高校生が表計算ソフトなどを使って,数学Tの「データ分析」レベルの内容を扱うときの「演習の手引き」として書いたものです.(筆者自身用の備忘録でもある)
◇●1〜●4のソフトについて操作方法を解説していますが,全部読む必要はありません.自分のパソコンで使えるソフトを選んで,読んでください. |
使い方を調べるソフトは,次の4種類
●1 「Microsoft Excel 2021」などのインストール型
各々のソフトの導入方法はこのページ参照
●2 無料で使える「Excel for the web」 ●3 無料で使える「Google スプレッドシート」 ●4 無料でインストールできる統計用ソフト「R」 |
1. 合計(総和)
ただし,背景色が桃色のセルC3は空白,D4は入力ミスで文字データIが入力されているものとする. 合計を求めるには,関数 SUM(範囲) を使う. セルB7に =SUM(B2:B6) セルC7に =SUM(C2:C6) ・・・ (B7に書き込んで,右にドラッグすればよい)
【結果】●1〜●3共通
1) 項目1のように「全部が数値データ」である場合,数値の合計が表示される. 2) 項目2のように「空白セルがあり,他は全部数値データ」である場合,数値の部分だけの合計が表示される.(空白は合計には入らないが,他の数値データの合計は有効となる) 3) 項目3のように「文字データがあり,他は全部数値データ」である場合,数値の部分だけの合計が表示される.(文字データは合計には入らないが,他の数値データの合計は有効となる) |
●4での計算方法-表2- d1<-c(10,10,10,10,10) d2<-c(10,NA,10,10,10) d3<-c(10,10,'I',10,10)右のように「R」のコマンドプロンプトから,3つのベクトルd1, d2, d3が入力されているものとする.なお,「R」ではNA(Not Available)で欠損値を,NaN(Not a Number)で非数値(0/0 など)を表す. 「R」で合計を求めるには,sum(ベクトル名)を使う. 次の結果が得られる. sum(d1) [1] 50 sum(d2) [1] NA sum(d3) sum(d3)でエラー:引数 'type' (character)が不正です
【結果】
なお,欠損値(NA)が含まれる場合は,その項目を取り除く(remove)パラメータとして, na.rmを指定することができる.この場合,欠損値(NA)以外の合計が得られる.
1) d1「全部が数値データ」である場合,数値の合計が表示される. 2) d2「空白セルがあり,他は全部数値データ」である場合,NAが表示される.(合計の計算は全部が無効となる) 3) d3「文字データがあり,他は全部数値データ」である場合,エラーが返される.(合計の計算は全部が無効となる) d2<-c(10,NA,10,10,10) sum(d2, na.rm=TRUE) [1] 40 |
2. 個数
「数値データの個数」を求めるには, 関数 COUNT(範囲) を使う.
=COUNTA()
セルB8に =COUNT(B2:B6)は空白以外のセルの個数 =COUNTBLANK() は空白セルの個数 セルC8に =COUNT(C2:C6) ・・・ (B8に書き込んで,右にドラッグすればよい)
【結果】●1〜●3共通
●4での計算方法1) 項目1のように「全部が数値データ」である場合,数値のセルの個数が表示される. 2) 項目2のように「空白セルがあり,他は全部数値データ」である場合,数値のセルの個数だけが表示される. 3) 項目3のように「文字データがあり,他は全部数値データ」である場合,数値のセルの個数だけが表示される. -表2(再掲)- d1<-c(10,10,10,10,10) d2<-c(10,NA,10,10,10) d3<-c(10,10,'I',10,10)右のように「R」のコマンドプロンプトから,3つのベクトルd1, d2, d3が入力されているものとする. 「R」でデータの個数(ベクトルの要素数)を求めるには,length(ベクトル名)を使う. 次の結果が得られる. length(d1) [1] 5 length(d2) [1] 5 length(d2) [1] 5
【結果】
d1, d2, d3とも同じで,空白,文字データも含めた要素数が返される |
3. 平均値
「平均値」を求めるには, 関数 =AVERAGE(範囲) を使う. セルB9に =AVERAGE(B2:B6) セルC9に =AVERAGE(C2:C6) ・・・ (B9に書き込んで,右にドラッグすればよい)
【結果】●1〜●3共通
●4での計算方法1) 項目1のように「全部が数値データ」である場合,数値のセルの平均値が表示される. 2) 項目2のように「空白セルがあり,他は全部数値データ」である場合,「数値のセルの合計」を「数値のセルの個数」で割ったものが表示される.(個数は4として数えている) 3) 項目3のように「文字データがあり,他は全部数値データ」である場合,「数値のセルの合計」を「数値のセルの個数」で割ったものが表示される.(個数は4として数えている) -表2(三掲)- d1<-c(10,10,10,10,10) d2<-c(10,NA,10,10,10) d3<-c(10,10,'I',10,10)右のように「R」のコマンドプロンプトから,3つのベクトルd1, d2, d3が入力されているものとする. 「R」で平均値を求めるには,mean(ベクトル名)を使う. 次の結果が得られる. mean(d1) [1] 10 mean(d2) [1] NA mean(d3) [1] NA 警告メッセージ
【結果】
d1は平均値が返されるが, d2, d3は欠損値NA(Not Available)が返される. |
4. 分散,標準偏差この項目の要約(1) 組込み関数を使う場合
※この公式の証明は ⇒ このページ
※あれもこれも覚えなさい!などとは言っていません.1つできればOKですが,何かの事情で計算が合わないとき「別ルート検算」で確かめられると「助かる」ことがあるのです!使えるチャンネルが多いほど安心!(イザというときのために保険をかける)ということです.
(1) 右の表3について,No.1〜No.5の5個のデータの分散を求めるには, ●1〜●3での計算方法 分散を求めるには, 関数 =VAR.P(範囲) を使う. セルB10に =VAR.P(B2:B6) と書き込む.
よく似た関数
=VAR(), =VARP(), =VARA(), =VARPA()は旧バージョンのExcelとの互換性を維持するためのもの.新しいExcelでは使わなくてもよい =VAR.S() は,与えられたものを標本と見なした場合の母集団の分散を求めるもの =VAR.P() が記述統計用の関数 ⇔ 高校まではこれを使う =VAR.S() は推測統計用の関数
【結果】●1〜●3共通
No.1〜の値をx1, x2, ・・・xnとするとき に対応する値が表示されている.
なお,推測統計用の関数 VAR.S()は
●1〜●3で,定義に従って,表を組み立てて計算する方法を表し,記述統計で計算した分散よりも少し大きい. 次の関係がある この計算を行うためには,データの「合計」「個数」は必ずしも必要ないが「平均値」を先に求めておかなければならない.(表3のようにB9が平均値だとする) (1) C2の欄に,=(B2-$B$9)^2と書き込む (2) C2のセルの右下の■をポイントすると+というマークが出るので,これをC6までドラッグする. (3) C7のセルをポイントして,「ΣオートSUM」 (4) C10のセルに =C7/B9と書き込む |
●4での計算方法-表4- data1<-c(7,6,3,4,5)右のように「R」のコマンドプロンプトから,ベクトルdata1が入力されているものとする. 「R」で平均値を求めるには,var(ベクトル名)を使う. ただし,「R」では推測統計がよく使われるので,準備されている関数は推測統計用のものが多い.ここでも,高校で習う分散(記述統計の分散)に直すためには =var(…)*(n−1)/n -表4(続き)- data1<-c(7,6,3,4,5) var(data1)*4/5で変換する. 次の結果が得られる. [1] 2●1〜●3で標準偏差を求めるには, 関数 =STDEV.P(範囲) を使う. 標準偏差は,分散の(正の)平方根であるから,=SQRT(VAR.P(範囲)) としても同じになる. ●4で標準偏差を求めるには,関数 =sd(ベクトル) を使う. ただし,「R」で準備されている関数は推測統計用のものだから,ここでも,高校で習う分散(記述統計の分散)に直すためには =sd(…)*sqrt((n−1)/n) とする.=sqrt(var(範囲)*(n−1)/n) としても同じになる.
右の表のデータ(架空データです!当然!)について,表計算ソフト●1〜●3または「R」を用いて,分散,標準偏差を求めてください. (結果は四捨五入して,小数点以下第2位まで求めてください)
※各自で問題を解くときに,この問題を手書きで書き写す必要はない.画面上で,左上端の「名前」から右下端の「59」までを,「ドラッグ」「右クリック」「コピー」.次に,Excel(onlineでもGoogleスプレッドシートでも同じ)のワークシート上で「貼り付け」すればよい.以下の問題も同様
解答を見る
●1〜●3では,=VAR.P(セルの範囲), =STDEV.P(セルの範囲) を使う.
●4では,=var(ベクトル)*(9/10),=sqrt(var(ベクトル)*(9/10))
|
(2) 右の表3について,No.1〜No.5の5個のデータの分散を求めるには, ●1〜●3で,V(x)=x2−x2から分散を求めるには, =SUMSQ(B2:B6)/B8 −(AVERAGE(B2:B6))^2 標準偏差は, =SQRT(そのセル) ●4で分散を求めるには, data1<-c(7,6,3,4,5) V1=mean(data1^2)-(mean(data1))^2標準偏差は,上記に続けて sqrt(V1) [1] 1.414214 |
右の表のデータ(架空データです!当然!)について,表計算ソフト●1〜●3または「R」により, 2乗平均−(平均)2の公式を使って,分散を求めてください. (結果は四捨五入して,小数点以下第2位まで求めてください)
●1〜●3では,=SUMSQ(セルの範囲)/COUNT()を2乗平均とし,=AVERAGE(セルの範囲) を平均として,2乗平均−(平均)2を求める.
●4では, ri<-c(54,85,76,96,99,81,60,99,57,87) sha<-c(71,37,35,58,86,31,43,55,31,35) mean(ri^2)-(mean(ri))^2 [1] 267.04 mean(sha^2)-(mean(sha))^2 [1] 318.36などとする. 理科 267.04,社会 318.36・・・(答) |
5. 度数分布表から分散,標準偏差を求める
右の表のような度数分布表が与えられたとき,分散V(x)は この公式に沿って,偏差2乗和×度数を作り,表を組み立てていくのが1つの方法である.(これは前のページに書いたので,ここでは省略する) (B) V(x)=x2−x2から求める場合 ●1〜●3で,V(x)=x2−x2から分散を求めるには, はじめに,D7に合計(個数)=SUM(D2:D6),D8に平均値 =SUMPRODUCT(C2:C6,D2:D6)/D7を求めておく.
ここで,表計算ソフトの関数 SUMPRODUCT() は,数学の内積よりも自由で,3個以上のベクトルの積も可能であることに注意する.
(1) E7をポイントし,例えば,=SUMPRODUCT(C2:C6, C2:C6, D2:D6) とすれば,Σx2k fk が求まる. =SUMPRODUCT(C2:C6, C2:C6, D2:D6) と書き込む (2) E8をポイントし,=E7/D7 と書き込む (3) F7をポイントし, =SUMPRODUCT(C2:C6, D2:D6) と書き込む (4) F8をポイントし,=F7/D7 と書き込む (5) F9をポイントし,=F8-D8^2 と書き込む
E8の計算で =AVERAGE(C2:C6)を使うことはできない.また,E2〜E6に =C2^2〜=C6^2などを準備しておいても,=AVERAGE(E2:E6)を使うことはできない.これらの関数では,データの個数を5個としてしまうので,合わなくなる.
標準偏差は,=SQRT(F9) |
●4で分散を求めるには,
d1<-c(7.5,12.5,17.5,22.5,27.5) f1<-c(3,4,7,5,1) N1=sum(f1) V1=sum(d1^2*f1)/N1-(sum(d1*f1)/N1)^2 [1] 30.6875
なお,分散の計算で mean(d1^2*f1)-(mean(d1*f1))^2 を使うことはできない.この計算方法では,データの個数を5個としてしまうので,合わなくなる.
標準偏差は,上記に続けて
sqrt(V1) [1] 5.53963
右の表のデータについて,表計算ソフト●1〜●3または「R」を用いて,分散,標準偏差を求めてください. (結果は四捨五入して,小数点以下第2位まで求めてください)
分散 67.67,標準偏差 8.23・・・(答)
右の表のデータについて,表計算ソフト●1〜●3または「R」を用いて,分散,標準偏差を求めてください. (結果は四捨五入して,小数点以下第2位まで求めてください)
分散 51.56,標準偏差 7.18・・・(答)
|