R
データ分析
pos

データサイエンスに入門してposデータを解析するためのR走り書き

More than 1 year has passed since last update.


はじめに

バイトでposデータの解析をしなきゃいけなくなり、何も知らなかったので色々あさって、Rで使ったものをメモしたものです。

データサイエンス入門を読んでバイトで使ったものです。


- csvファイル読み込み

 read.csv(AA,.header=T,stringsASFactors=F)


2つのデータをくっつける

merge(A,B,by=c(“XXX”))

データAとデータBをXXX という項目の内容が同じものでたばね、くっつける


NA時の処理

 AA$BB[is.na(AA$BB)] <-0

AAのBB列のデータがNAなら0を代入


列処理

AA$CC <- substr(AA$BB,1,4)

AAのBB列のデータに対して、先頭1~4文字まで抜き出し、その内容をAAのCCデータ項目に入れる


グループ化と合計値

ddply(AAA,.(B,C),summarize,YYY=sum(XXX))

データAAAの項目B、Cをグループ化してXXX項目の合計値をグループ化した後のYYYに代入


条件分岐

ifelse(AA == BB,”XX”,”YY”)

もしAA==BB(ここには条件式が入る)なら、XXを記入、そうでなければ、YY を記入する


クロス集計関数

table(AAA[,c(“XX”,”YY”)])

AAAというデータの項目XXとYYのクロス集計を行い、画面に出力する


n重クロス集計

dcast(AAA,XX~YY+ZZ,value.var=“CCC”,length)

AAAというデータから縦軸XX・横軸YY×ZZのクロス集計を出す、そして、その集計の中の値CCCの数をカウントする


reshape2パッケージ


グラフの書き方


ggplot2

きれいなグラフを簡単に合理的に 


X^2検定

chisq.test(AAA,BBB)

AAAとBBBの差を出す


回帰分析


lm(A~. , data= ZZ[, c(“A”,”B”,”C”)])

『ZZデータの項目A,B,Cを使って回帰分析する』という、この分析で利用するデータの指定をdata=で明記

その前の部分で回帰モデルにするかを明記
[A ~.]は『A=B+Cというモデルで回帰して下さい』という命令で、『~』は「=」で、『.』は「dataで明記した利用データの内、A以外のものを+でつなぐ」という省略記号


summary(A)

 lm関数の結果解釈用関数

1 残差の分析
2 係数の推定値についてのサマリ
3 決定係数とその自由度調整値
この三つからわかること


Residuals

 残差(予想値と実績値の差)の分布を四分位数で表して、変な偏りがあるか否かの判断材料になる


Coefficients

 推定された切片と傾きに関するサマリです。各行は推定値、標準誤差、t値、p値の順に並んでいる。その傾きがどのくらいバラつくのか、統計的な有意性があるか否かがわかる


Multiple R-sqwuared,Adjusted R-sequared

 決定係数とその自由度調整値です。決定係数が、1に近いほど、このモデルの当てはまりが良いことを示す。


データ整理


unique(AA[,c(“XX”,”YY”,”ZZ”)]

 AAのデータから項目XX,YY,ZZが唯一となるデータ行を残す。

XXが異なりYYとZZが同じ値のときは両方のデータが残る
XX、YY、ZZ全てが同じ値のときは重複とみなされて、削除されて、一つだけが残る


unique(AA[AA$XX==“xxx”, c(“X”,”Y”,”Z”)])

    AAデータ項目XXはxxxというものだけを抽出

X,Y,Zの項目列で、重複がないように加工


名前付け


name(AAA)[-1] <- paste0(“X”,1:31,”day”)

    AAAの一行目を除いた行に名前をつける

paste0より空白なくつける
Xに1〜31を順にふった名前をつける。


ロジスティック回帰分析


glm関数

オプションfamilyにbinomialを入力


step関数

説明変数の<増やす・減らす>を自動で検索して選定してくれる


fitted関数

予測値を得る


order関数

並び替えて表示


最後に

メモを張り付けただけなので間違えがあるかもしれませんが申し訳ありません