430 likes | 522 Views
第 2 回 R による記述統計. 第 8 章 R における ( 数値 ) データ 第 9 章 データフレーム 第 2 章 1 つの変数の記述統計 第 3 章 2 つの変数の記述統計 1.6.5 パッケージのインストール 1.6.3 新しい関数の定義と利用. R におけるデータ (8 章 P205-). 代入 ( 付置 ). 関数. 編集 edit(). 変数 ( スカラー ). データフレーム ( 表 ). 合成 c( ). 合成 data.frame(). 変数 ( ベクトル ). 合成 matrix( ).
E N D
第2回 R による記述統計 • 第8章 R における(数値)データ • 第9章 データフレーム • 第2章 1つの変数の記述統計 • 第3章 2つの変数の記述統計 • 1.6.5パッケージのインストール • 1.6.3新しい関数の定義と利用
Rにおけるデータ(8章P205-) 代入(付置) 関数 編集edit() 変数(スカラー) データフレーム(表) 合成 c( ) 合成 data.frame() 変数(ベクトル) 合成 matrix() 縦合成 cbind( ) 横合成 rbind( ) 抽出 DF名$変数名 変数(行列) 統計分析の 対象となるデータ表 (異なる型の混在可) (数字だけからなるもの)
1.6.5パッケージの利用(p35) • Rの基本パッケージには,基本的な関数や命令が登録されている. • 専門的な関数や統計手法は,内容ごとにまとめて,パッケージとして用意されている. • パッケージは必要なときにネット上の登録サイトに読みに行く.(接続先を登録) • パッケージ→パッケージのインストール • library(使用するパッケージ名)
8.1 スカラー,ベクトル(p205) • 変数名は,英数字でも,全角文字でもよい • 大文字と小文字は区別される • x <- 5 (x に5というスカラーを代入) • y1 <- c(1,2,4,6,7) ベクトルy1に値を代入 • y2 <- 1:5 1から5の連続整数 • y3 <- seq(10,2,-2)10から2まで-2ずつ変化 • y4 <- rep(1,8) 同じ数字を個数並べる
8.2ベクトルの基本演算 • 項毎の四則演算 • veca + vecb,veca – vecb,veca * vecb,veca / vecb • ベクトル間の内積 • veca%*%vecb • ベクトルのスカラー倍 • veca * 5 • ベクトルの要素を取り出す • veca[2], veca[2:4], veca[c(2,4,5)]
8.3 行列(p210) • 要素を全部指定するならmatrix • matrix(行列の要素の並び,nrow=行数,ncol=列数) • matrix(1:12, nrow=3,ncol=4) またはmatrix(1:12, 3, 4) • 列方向優先で要素が並ぶ.行方向優先ならmatrix(要素,行数,列数,byrow=TRUE) • 列ベクトルを横方向に連結するならcbind • cbind(veca,vecb) • 行ベクトルを上下にかさねるのは rbind • rbind(veca,vecb)
8.3行列の基本演算(p213) • 要素ごとの四則演算 +-*/ • 転置行列 t( ) • 行列の積 • mata %*% matc mata %*% t(mata) • 行列の要素 • mata[行,列] 指定なしで全部を取り出す • 行列式 det() • 逆行列 solve() • 固有値 eigen( )
9.1外部データファイルの読み込み方 データフレームに代入(付置)する. • テキストファイル(タブ区切り) データフレーム名 <- read.table( “ファイル名”, header=TRUE) • クリップボード(Excelでコピー) データフレーム名 <- read.table( “clipboard”,header=TRUE) • CSVファイル(コンマ区切り) データフレーム名 <-read.csv( “ファイル名”) Excelファイルを直接読むためには,xlsxパッケージ内の関数を使う
クリップボードから読み込み データフレーム名$データ名 として使う
Excelファイルの直接読み込み • xlsファイル • gdataパッケージを読み込む(perlがある場合) • library(gdata) • データフレーム名<-read.xls(“xlsファイル名”) • xlsxファイル • xlsxパッケージを読み込む(javaが必要) • library(xlsx) • データフレーム名<-read.xlsx(“xlsxファイル名”)
9.7データフレームの編集(p246) • 新DF名 <-edit(データフレーム名) • データエディタウインドウで編集できる
データフレームの操作関数 save(DF, file=(“ファイル名.xdr”) データフレーム(表) XDR形式(バイナリー)ファイル 変数 DF <- load( “ファイル名.xdr”) Subset(DF, 条件式,select=c(変数リスト)) 条件を与えて一部のケースを取り出す ケース DF1[n+1:n+k] <- DF2 現在存在しないケース番号に別のデータフレームを代入して,縦方向に結合 data.frame(DF1,DF2, ・・・) merge(DF1,DF2, ・・・,all=TRUE) Transform(DF, 変数=計算式) データフレーム中の変数を計算式で置き換える.新変数も追加可能 データフレームを横方向に結合 Subset(DF, select=c(変数リスト)) リストに従い一部の変数を取り出す
第2章 1つの変数の記述統計 • データの持つ特徴を簡潔に記述する • 20人の英語の成績データ • →「このクラスは大体このような英語力です」 • 数値要約 「大体60点です」
2.3変数の種類 • 量的変数 (四則演算ができる.平均が意味を持つ) • 比例尺度(0が意味を持つ)絶対零度 • 間隔尺度(間隔のみが意味を持つ)高度,温度 • 質的変数・・・・カテゴリーデータ(factor変数) • (四則演算が意味を持たない) • 順序尺度(大小関係が意味を持つ)好き嫌い Factor Ordered • 名義尺度(単に区別しているだけ) Factor non-ordered データフレーム名$データ名 として使う
カテゴリーデータ(順序付)の定義 • 文字列を用いてデータフレームを作る カテゴリー変数名<-factor(factor変数,水準を表す文字列のベクトル, labels=各水準の意味を示す文字ベクトル,ordered=TRUE) • カテゴリーを表す数値を用いて定義する カテゴリー変数名<-factor(数値変数,水準を表す数字のベクトル, labels=各水準の意味を示す文字ベクトル,ordered=TRUE) • 連続数値データから分類して作る カテゴリー変数名<-cut(数値変数,breaks=分割点ベクトル,right=FALSE,labels=意味を示す文字ベクトル,ordered_result=TRUE)
2.4変数の視覚的表現(p.40)度数分布表 table(ベクトル)ヒストグラム hist(ベクトル)2.4変数の視覚的表現(p.40)度数分布表 table(ベクトル)ヒストグラム hist(ベクトル)
可能な値 度数 合計 n 度数分布表(離散分布) • データがとりうる値のそれぞれについて,その出現回数を度数 frequency という 度数分布表を図(棒グラフ)で表したものをヒストグラム(histogram)という
階級 階級値 度数 相対度数 累積度数 累積相対度数 9.95 ~ 10.85 10.4 1 0.02 1 0.02 10.85~11.75 11.3 6 0.12 7 0.14 11.75~ 12.65 12.2 7 0.14 14 0.28 12.65~13.55 13.1 12 0.24 26 0.52 13.55 ~14.45 14.0 12 0.24 38 0.76 14.45~15.35 14.9 9 0.18 47 0.94 15.35~16.25 15.8 3 0.06 50 1.00 階級による度数分布表 Sturgesの式 :データ数 に対して階級数を決める一つの目安 nが50前後→ 5~7階級 nが100前後→ 8~12階級 nが100以上→ 10~20階級 階級数 =
階級による度数分布の表現 n ヒストグラム 度数折れ線 累積度数折れ線 箱ひげ図 boxplot(変数名)MIN,1QL,Median,3QL,MAX
2.5平均 2.6代表値 (p42) • 代表値 20人の値を代表するひとつの値 • 平均=合計の値/データの個数 mean(ベクトル)=sum(ベクトル)/length(ベクトル) • 中央値(median) • median(ベクトル) • 最頻値(mode)
特性値(代表値) • 代表値:分布の特徴を代表する数値 • 平均 mean • メディアン(中位数)median • モード(最頻値)mode • 最多の頻度を持つ階級の階級値
2.7散布度(p46) • 分布の特徴を把握しようとする場合,中心的位置を表す「代表値」に加えて,どの程度のちらばり,バラツキがあるのかを示すことが必要となる. • 散らばり,ばらつきの程度を表す数値を「散布度」という. • 分散=平均からの偏差の2乗の平均値 =2乗の平均値-平均値の2乗 • 標準偏差=分散の正の平方根
特性値(散布度) • 散布度:データが平均のまわりに集中して分布するか,平均のまわりから散らばって分布するかの程度を表わす数値 • 分散 variance • 平均偏差 mean deviation • 四分偏差 quartile deviation
標準偏差 • 分散の正の平方根 • もとのデータと同じ単位を持つ
不偏分散と不偏標準偏差 • 標本分散:データからそのまま計算した分散 • (平均からの偏差2乗の和/データ数) • 標本標準偏差:その平方根 • 不偏分散:データが母集団からのサンプルであると考えたときの母集団の分散:var( ) • 平均からの偏差2乗の和/(データ数ー1) • 不偏標準偏差:不偏分散の平方根 :sd( )
1.6.3関数を自作する(p31) • 標本分散を求める関数 varp( ) を新しく作る varp <- function(x) { + 標本分散 <- var(x) *(length(x)-1)/length(x) + 標本分散 + } • 使うときは,すでにある関数と同様に, > varp(テストa) [1] 6.3
Rにおける記述統計 • 個別の関数 • Mean(変数名),sd(変数名) • NA (欠損値)があると計算できない • Mean(変数名,na.rm=TRUE) • 代替関数の定義 • Mean2<- function(x) mean(x, na.rm=TRUE) • Mean2(変数名) • 数個の記述統計を一括表示 • Summary(変数名) • 特定の関数を選択的に適用 • Sapply(対象となる変数,関数,na.rom=TRUE)
2.9 その他の散布度 • 平均偏差:「平均からの偏差の絶対値」の平均値 dvave <- function(x) { + 平均偏差 <- mean(abs(x - mean(x))) + 平均偏差 + } • 範囲(レンジ):最大値と最小値との差 > drange <- function(x) { + 範囲 <- max(x) - min(x) + 範囲 + }
2.10標準化(p51)2.11偏差値(p53) • Z得点: • (データの値-平均値)/標準偏差 • この得点の平均は0,分散,標準偏差は1 • 偏差値:z得点×10+50 • 偏差値の平均は50,分散は100,標準偏差は10
2章練習問題(p54) (1)以下はA大学とB大学の学生(各10人)の一日のテレビの視聴時間(単位は分)のデータです.大学ごとにヒストグラムを描いてみましょう A大学:60,100,50,40,50,230,120,240,200,30 B大学:50,60,40,50,100,80,30,20,100,120 (2)上記のデータについて,大学ごとに平均と標準偏差を求めてみましょう (3)上記のデータについて,大学ごとにデータを標準化してみましょう
【問題1】代表値の算出 次のデータは,あるカルチャーセンターにおける読書会の会員40名の年齢である.スタージェスの式をもちいて度数分布表・ヒストグラム・累積度数分布図を作成せよ.また,平均値,最大値,最小値,中位数,最頻値を求めよ.
【問題2】代表値の算出 • 問題1のデータから,分散,標準偏差,4分偏差を求めよ. • 問題1で作成した度数分布表から,それらの数値を求めて比較せよ
【問題3】分散の計算方法 • 分散は次式で定義されている • その値は次の方法で計算できることを示せ
【問題4】標準偏差による基準化 • あるクラスの英語の試験の平均点 は67で標準偏差 は8.5.また,数学の試験の平均点 は53で標準偏差 は12.6でした. • このクラスのA君の成績は英語が75点で数学が68点でした. • A君のクラスでの成績は,英語と数学のどちらの順位が上でしょうか.
第3章 2つの変数の記述統計 • データの持つ特徴を簡潔に記述する(p55) • ここでは、2つの変数の関係を記述したい • 相関 「国語の点数が高い人ほど、英語の点数が高い」(量的変数同士の関係) • 連関 「洋食派には甘党が多く、和食派には辛党が多い」(質的変数同士の関係) • 相関があっても、因果関係によるものかは不明 • 「国語の成績が良いから、英語の教科書がうまく理解できて、英語の成績が上った」のかどうかは不明
散布図 Scatter Diagram • 変量 の組の測定値 を平面上にプロットした図 plot(ベクトル1,ベクトル2)
2変量の関係を表わす数値 • 共分散 covariance • 測定単位の影響を受ける • 不偏共分散 cov(ベクトル1,ベクトル2) • 相関係数 correlation coefficient cor(ベクトル1,ベクトル2) ±1.0 ± 0.7 ± 0.4 ± 0.2 0.0 強い相関 中程度の相関 弱い相関 相関なし
クロス集計表 table(数学,統計) • > 数学 <- 指導法データ$数学 • > 統計 <- 指導法データ$統計 • > table(数学,統計) • 統計 • 数学 嫌い 好き • 嫌い 10 4 • 好き 2 4
Φ係数 • Φ係数:2値の質的データを1,0で置き換えたときの相関係数 > 数学イチゼロ <-ifelse(数学=="好き",1,0) > 統計イチゼロ <- ifelse(統計=="好き",1,0) > 数学イチゼロ [1] 0 0 1 1 0 0 0 0 0 1 1 0 1 0 0 1 0 0 0 0 > 統計イチゼロ [1] 1 1 1 1 0 0 0 0 0 0 1 1 1 0 1 0 0 0 0 0 > cor(数学イチゼロ,統計イチゼロ) [1] 0.3563483
2変量の度数分布表(クロス集計表) • 変量がとりうる値が多いとき 共分散 相関係数
時刻 二酸化硫黄 二酸化窒素 時刻 二酸化硫黄 二酸化窒素 x y x y 1 23 43 13 38 21 2 21 28 14 51 37 3 18 17 15 109 65 4 17 16 16 90 65 5 17 16 17 78 50 6 15 10 18 75 58 7 13 5 19 34 42 8 14 5 20 33 52 9 16 8 21 29 55 10 17 13 22 31 55 11 17 11 23 25 55 12 35 28 24 25 51 【問題5】データからの相関係数の計算 表 1.3:二酸化硫黄と二酸化窒素の濃度 • 次のデータについて,共分散,相関係数を求めよ
【問題6】同時度数分布表からの相関係数の計算【問題6】同時度数分布表からの相関係数の計算 • ある学校のあるクラス50名の英文法の試験の成績xと 英会話の成績yの同時度数分布は以下のようであった • 英文法の平均点と分散を求めよ • 英会話の平均点と分散を求めよ • 共分散と相関係数を求めよ