R

R Linear Regression (線形回帰)

#線形回帰 yi = b0 + b1xi +εiにおいて、誤差項εiの仮定は次の4つ。 #1.εiの期待値は0である(i=1,2,…,n) #2.εiの各分散はすべて等しい(i=1,2,…,n) #3.εi,εuは無相関である(i≠u; i,u=1,…,n) #4.εiは正規分布にしたがう(i=1,…,n) #最小自乗法による推定の良さ…

R Correlation Coefficient of Categorical Variables (カテゴリカルデータの相関係数)

#全ての説明変数が量的であれば、主成分分析、因子分析等の #量的変数を対象とした手法の適用が可能。 #カテゴリカル変数が説明変数に含まれている場合に、 #量的変数を対象とした手法の適用が出来るようにする方法を #下記で確認する。 #In case of ordinal…

R サンプルデータ 練習(販売データ) (※on progress)

サンプルデータを使用してRの練習 データはこちら:http://www.tsware.jp/study/vol8/qrybiz_01.htm

R Quantification Theory (数量化理論)

##################数量化1類################## #数量化1類は回帰分析において、説明変数にカテゴリカル変数が #含まれる場合と同じ解析方法。 head(PlantGrowth) summary(PlantGrowth) tapply(PlantGrowth$weight, PlantGrowth$group, mean) tapply(PlantG…

R Decision Tree (決定木)

#目的変数がカテゴリカル変数の場合は、目的変数がどのカテゴリーに #属するのかを予測するための方法としては、ロジスティクス回帰 #分析や判別分析などの方法を用いることが可能 #決定木は全体を説明変数を用いて段階的にグループ分けする #classification…

R Correspondence Analysis (対応分析)

「Rで学ぶデータサイエンス カテゴリカルデータ解析」より抜粋 library(vcd) tabledata <- xtabs(Freq~Status+Urban, data=DanishWelfare) tabledata result <- chisq.test(tabledata) round(prop.table(tabledata,margin=2), digits=3) #margin = 1:horizon…

R Tips(データの加工)

#列に名前を付ける x <- matrix(c(1,1,2,2,1,2,1,2,5,3,6,2,6,5,1,4), nrow=4) dimnames(x) <- list(x[1:4], c("id","time", "x1", "x2")) colnames(x) #列を追加する head(cbind(tips, type = ifelse(tips$tp < 2, "少ない", "多い")),3) #変数を削除する r…

R Possion Regression Analysis (ポアソン回帰)

・ポアソン分布の前提3つ -時間を細かく分けていくと、各時間帯で発生するイベントは1回だけである -細かく分けた時間帯でのイベントの発生確率は同じである -他の時間帯のイベントの発生状況の影響は受けない --------------------------------------------…

R 初級講座構成案(Memo)

■Chapter1 なぜ分析が必要なのか? ・よく使うデータの変形方法 ・企業の中で役立てるとすればどうするか ・ダイナミックオペレーションを目指して(過去の分析から、現在の察知、未来の予測へ) ・知見とは何か? ・多様性に富む世界、知見をたくさん共有し…

R Logistic Regression (ロジスティック回帰)

#ロジスティクス回帰分析は、1つのカテゴリカル変数を目的変数 #とし、その目的変数を説明変数で説明するモデルによる分析方法。#より実践的なのはこちら ################目的変数が2値の場合################ ##単項多重ロジスティック回帰 #個票データが…

R 初級講座ネタ検討(2元表の解析) (On progress)

#2×2表の解析 #########独立性のカイ2乗検定######### binom.test(512,1897) attr(,"conf.level") Ctable <- matrix(c(512,1385,567,2419),nr=2) chisq.test(Ctable) library(MASS) Ctable <- xtabs(~Sex+W.Hnd, data=survey) Ctable chisq.test(Ctable) #独…

R Tips データのマージ

#a,bの2テーブルを1対多で紐付ける a <- data.frame(ID=c("a","a","a","b","b","b","c","c","c"),mz=c(1:9)) b <- data.frame(ID=c("b","c","d"),Risk=c(1:3)) merge(b,a,by="ID") #不要な列を削除する df <- ( データフレーム ) 不要 <- c( 要らない列番号…

R 初級講座ネタ検討(カテゴリカル・データ、割合の検定)

#練習問題 binom.test(x=134,n=200,p=0.5) #p値の推定値はp値への影響を与えるが、pの推定値の信頼区間に対しては影響を与えない。 #pの推定値の信頼区間は、測定値が最尤推定値であることを過程した分布によって推定する。 #p値と信頼区間からの離れ具合に…

R 初級講座ネタ検討(カテゴリカル・データの変形)

TAccident <- c(0, 0, 0, 0, 0) colname <- c("Sex","Place","Seatbelt","Injury","Freq") colnames(TAccident) <- colname TAccident <- matrix(c('女性','女性','女性','女性','女性','女性','女性','女性','男性','男性','男性','男性','男性','男性','男…

R Tips(ファイル一覧の取得)

#ファイル一覧の取得 list.files(path = "ディレクトリ名", pattern = "検索対象文字列") #検索対象文字列は、^XXXで前方一致、XXX$で後方一致。Rにおける正規表現について、http://www.okada.jp.org/RWiki/?R%20%A4%CB%A4%AA%A4%B1%A4%EB%C0%B5%B5%AC%C9%BD%B8%B…

R Mantel-Haenszelの勉強

「Rで学ぶデータサイエンス 1カテゴリカルデータ解析」を参照して作成 UCBAdmissions GAdata <- apply(UCBAdmissions, c(2, 1), sum) mosaicplot(GAdata) chisq.test(GAdata) #データを次々と読み込み、異なる変数名を付与する j = 1 for (i in 0:5) { Dept …

R Lasso regression (ラッソ回帰)

線形回帰(重回帰含む):http://upo-net.ouj.ac.jp/tokei/contents/sub_contents/c01_05_00.xml がわかりやすい。以下、そちらより抜粋。 library(lars) library(glmnet) data(diabetes) attributes(diabetes$x) attributes(diabetes$x2) attributes(diabetes…

Rで多次元尺度法

発想は「2点間距離の情報から、座標を再現する」。 2点間距離を維持したまま、座標を再構成する。内積の定義から、2点間の距離が明らかであれば、2点間の内積を求めることが出来る。(古典的・計量多次元尺度法) ※北海道の2都市間距離から、地図を再現する ho…

R Primary Components Analysis (主成分分析)

<体重、足の大きさの例> x1 <- c(180, 184, 160, 167, 161, 169, 175, 174, 166, 173) x2 <- c(29, 28, 25, 25, 26, 24, 25, 28, 24, 27) x1 <- as.matrix(x1, nrow = 10) x2 <- as.matrix(x2, nrow = 10) x <- cbind(x1, x2) colnames(x) <- c("height", …

Rでタイタニックの生存者分析

z <- data.frame(Titanic) Titanic1 <- data.frame(Class = rep(z[,1],z[,5]), Sex = rep(z[,2], z[,5]), Age = rep(z[,3], z[,5]), Survived = rep(z[,4],z[,5])) ########補足:データの型の修正はこちらの方がスマート ########## class(Titanic) TN1 <- …

R標準化関連

dat <- scale(dat) datの平均値を0に、分散を1に。

Rにおける複数ファイルの取込

setwd("XXX") f<-list.files("XXX", pattern="txt$") print(f) j = 1 for(i in f) { dat <-read.table(paste("XXX", i, sep = ""), header = T) assign(paste("dat",j,sep=""),dat) j = j + 1 } # 50,000 x 300 x 8 のデータで読み込みに20分。XXXは適切なデ…