元データ: qba_all:
計算
qba<-qb_all #因子の順番を駅の順番を揃える #stalist<-c("山科駅","大津駅","膳所駅","石山駅","瀬田駅","南草津駅","草津駅","栗東駅","守山駅","野洲駅","篠原駅","近江八幡駅","安土駅","能登川駅","稲枝駅","河瀬駅","南彦根駅","彦根駅") #v<-sample(1:length(qba[,1]),as.integer(0.6*length(qba[,1])),replace=F) #v2<-setdiff(1:length(qb[,1]),v) #qb_learn<-qb_all[v,] #qb_test<-qbb #qb_learn$MOYORIEKI<-factor(qb_learn$MOYORIEKI,levels=stalist) #qb_test$MOYORIEKI<-factor(qb_test$MOYORIEKI,levels=stalist) #変数yの平均をとる t0<-dplyr::summarize(qb_learn,mean=mean(y)) #output # y #1 0.6655981 #二項検定 (1)最寄り駅でグループ分けして、(2)駅ごとにy0=当選1の数,y1=否当選0の数を数える (3)行との処理に(4)y0とy1を元にp=0.66559について二項検定と確率を計算し表示 > t1<-dplyr::group_by(qb_learn,MOYORIEKI)%>% dplyr::summarize(y0=length(y[y==0]),y1=length(y[y==1])) %>% dplyr::rowwise() %>% dplyr::mutate(p_value=binom.test(c(y0,y1),p=1-0.665598)$p.value,prob=y1/(y0+y1)) #output t1 #Source: local data frame #Groups: <by row> # # TIKUNENSUU MOYORIEKI y0 y1 p_value prob # <dbl> <fctr> <int> <int> <dbl> <dbl> #1 0 山科駅 50 93 0.72312669 0.6503497 #2 0 大津駅 8 25 0.35608776 0.7575758 #3 0 膳所駅 5 7 0.55063179 0.5833333 #4 0 石山駅 34 66 0.91577401 0.6600000
計算結果を元のテーブルに追加 join文を使えば簡単(2016.12.12)。
dplyr::left_join(qb_learn,t1,by="MOYORIEKI")