8年前の今日

8年前のこの日のツイート。次女の受験にアテンドしてつくばに入った。2晩つくばに泊まって翌朝一番に動き出したTXで東京に出て新幹線で次女と一緒に神戸に戻った。

 我々が止まった宿は大資本のホテルではなく地元の人が経営している旅館的なところだったので(西大通り沿い)、停電になっても宿を追い出されることはなく、食事も与えられたので恵まれていた。ホテルに泊まっていた人たちは、停電でサービスができないからとホテルから追い出され、仕方なくつくばセンターからの関鉄バスで取手に向かっていたと聞いている。バスも常磐線も長蛇の列だったはず。

 宿に閉じ込められている間、もっていったWiMaxルーターが情報源だった。筑波大生がすぐに地震関連のサイトを立ち上げていて、地元の情報を発信しているのに感心した。

 次女の2次試験は行われず、センター判定で合格。つくばにすぐやるか、様子を見るかも一応検討した。つくばの放射線量を毎日チェックしながら。

 帰宅してからもしばらくは妙に神経が逆立っている日々が続いてたなぁ。

(続)Pollock and Edwards(2017)

 

An R Companion to Political Analysis (English Edition)

An R Companion to Political Analysis (English Edition)

 

 ch.7

やっぱこれ動かない。

nesD.led=subset(nesD,dem_educ3==“HS or less”)
nesD.med=subset(nesD,dem_educ3==“Some coll”)
nesD.hed=subset(nesD,dem_educ3==“Coll +”)

でもこれは動く。

nesD.NS=subset(nesD, south=="Non-south")
nesD.S=subset(nesD, south=="South")

 

ch.8 

Correlation Analysis
The wtd.cor() function may be more useful because it allows the user to specify sample weights for survey data and removes missing data by default.
wtd.cor( var1, var2, weight = optional.weight)

これ便利だねえ。

Kindle PCからのコピペでスクリプトを入れるとエラーが出やすいようである。Consoleからの手打ちの方が確実みたい。文字コードが悪さでもしているのか?

svyglm.fit( svyglm( obama_therm ~ gender, design = nesD, na.action = na.omit))

Pollock, Philip H., III; Edwards, Barry C.. An R Companion to Political Analysis (Kindle の位置No.5420-5421). SAGE Publications. Kindle 版.

これも誤植。fit.svyglmでなければならない。documentationはこちら

www.rdocumentation.org

読書メモ:An R Companion to Political Analysis (English Edition) 2nd Edition, Kindle版

 

 

An R Companion to Political Analysis (English Edition)

An R Companion to Political Analysis (English Edition)

 

  この本の良いところはサーヴェイ・データ分析におけるウェイトの扱いを明示してくれているところ。ただggplot2によるグラフ作成などは扱っていない。

 

cutpoints = c( 31, 41, 51, 61, 90)  # define upper limit of each category gss $ age5 = cut2( gss $ age, cutpoints)  # apply cutpoints to numeric variable

Pollock, Philip H., III; Edwards, Barry C.. An R Companion to Political Analysis (Kindle の位置No.2367-2369). SAGE Publications. Kindle 版.これ便利だなぁ、と。

 第4章の

compmean( states $ union10, states $ region, plot = F)

Pollock, Philip H., III; Edwards, Barry C.. An R Companion to Political Analysis (Kindle の位置No.2967). SAGE Publications. Kindle 版.

ここは誤植でcompmeansが正しい。

 しかし、ところどころ重要なスクリプトのところで字が小さくなっているのはKindle版ではなく、ハードコピーを買えという圧力であろうか。

 7章の以下も動かない。

nesD.led = subset( nesD, dem_educ3 = =“ HS or less”)

nesD.med = subset( nesD, dem_educ3 = =“ Some coll”)

nesD.hed = subset( nesD, dem_educ3 = =“ Coll +”)

Pollock, Philip H., III; Edwards, Barry C.. An R Companion to Political Analysis (Kindle の位置No.4581-4585). SAGE Publications. Kindle 版.

 見てみたらnesDにはそもそもdem_educ3という変数がない。なのでここのnesDをnesに置き換えてみた(こちらにはある)が、それでも

Error: unexpected input in "nesD.led = subset(nes, dem_educ3 == ・

と怒られる。

 というわけで本日はここまで。

 と思ったが帰宅後夕食前にやってみたら,

nesD.led=subset(nes, dem_educ3=="HS or less")
nesD.med=subset(nes, dem_educ3=="Some coll")
nesD.hed=subset(nes, dem_educ3=="Coll+")

できれいに動いた.しかしそのあとの

svychisqC(~gay_right3 + libcon3, nesD.led)

がうごかねえ.ぐぬぬ

 んで,RStudioのhelpにsvychisqCを突っ込んでみたところ,

Examples

library(poliscidata)
svychisqC(~ gay_rights3 + libcon3, nesD)

とあるでないの.

こちらなら動く.

ただし,nesDを,nesD.ledなどに変えるとモウ動かない.

念のため,nesD.led, nesD.med, nesDhedの中身をそれぞれ見たら

subsetは問題なく出来てるが,gay_right3が<nul>になってる.

l> nesD$gay_right3
NULL
> nes$gay_right3
NULL

なのでそもそももとのnesにもnesDにもgay_right3が入っていない.あれれ?

いただきもの

 

イデオロギーと日本政治―世代で異なる「保守」と「革新」

イデオロギーと日本政治―世代で異なる「保守」と「革新」

 

 著者のお二人よりいただきました.多くの人に読んでいただきたい良書です.

Healy(2019)読書メモ(3)

ch.6 (https://socviz.co/modeling.html)

6.5.1 Get component-level statistics with tidy()

text p.147の呪文

   out_comp <- tidy(out)
   out_comp %>% round_df()

とすると

Error in round_df(.) : could not find function "round_df"

と怒られました。

round_dfって何ですか?とググってみますと以下がヒット。

rdrr.io

 これはforestmangrというパッケージに入っているようです。なのでこいつをインストールします。

> install.packages("forestmangr")

>library(forestmangr)

それでやっと

> out_comp <- tidy(out)
> out_comp %>% round_df()
# A tibble: 7 x 5
term estimate std.error statistic p.value
<chr> <dbl> <dbl> <dbl> <dbl>
1 (Intercept) 48 0 141 0
2 gdpPercap 0 0 19 0
3 pop 0 0 3 0
4 continentAmericas 13 1 22 0
5 continentAsia 8 1 14 0
6 continentEurope 17 1 28 0
7 continentOceania 18 2 10 0

 

できたー。

 

 

 

Healy(2019)読書メモ(2)

ch.5(https://socviz.co/workgeoms.html#continuous-variables-by-group-or-category)

 

text p.111にある

> by_country <- organdata %>% group_by(consent_law, country) %>%
+ summarize_if(is.numeric, funs(mean, sd), na.rm = TRUE) %>%
+ ungroup()

を実行すると、

Warning message:
funs() is soft deprecated as of dplyr 0.8.0
please use list() instead

# Before:
funs(name = f(.)

# After:
list(name = ~f(.))
This warning is displayed once per session.

こんなWarningがでます。新しいdplyrを使うときは、

> by_country <- organdata %>% group_by(consent_law, country) %>%
+ summarize_if(is.numeric, list(mean, sd), na.rm = TRUE) %>%
+ ungroup()

 とやる方がよさそうです。

そしてこれによって生成される変数が、教科書ではdonors_meanなどになっていますが、実際にはdonors_fn1で出てきました。ということはFigure 5.13, 5.14を作る際に、

meanのところをfn1に置換してやらないとエラーとなり、図は作成されません。

 同様に、Cleveland dot plotを作るためのスクリプト(p.115)も

p <- ggplot(data = by_country, mapping = aes(x = reorder(country,
donors_mean), y = donors_mean))

p + geom_pointrange(mapping = aes(ymin = donors_mean - donors_sd,
ymax = donors_mean + donors_sd)) +
labs(x= "", y= "Donor Procurement Rate") + coord_flip()

 meanをfn1に、sdをfn2に置換する必要があります。 

このような修正はby_countryをデータに使う場合に常に必要です。

Healy(2019)読書メモ(1)

 

Data Visualization: A Practical Introduction

Data Visualization: A Practical Introduction

 

 良書であり、websiteも充実していて(https://socviz.co/,

GitHub - kjhealy/socviz: Support files for a data visualization course and book

素晴らしいのだが、これで日本の大学生に教えるとするといろいろ引っかかる点がある。

1.Githubを使った教材のインストール

 日本の大学の情報環境ではproxy serverが使われていることが多い。これがGithubを使うときに引っかかることがある。具体的には教科書のxviiiにある

devtools::install_github("kjhealy/socviz")

がエラーを吐く。

 ちなみにproxyの外にある環境でも上のスクリプトではダメで、

devtools::install_github("kjhealy/socviz",host = "https://api.github.com")

なら動いた。

 学生に大学内のPCで使わせる場合は、

https://github.com/kjhealy/socviz

にアクセスさせて、右側に表示される"Clone or download"のボタンを押させ、

"Download ZIP"を選択させることで関連ファイルを読み込ませることになるだろう。ダウンロードしたファイルは当然、working directoryにコピーさせる必要がある。

 学生にRStudioをインストールさせた上で、コピーしたファイルの中から、.socviz.RprojをRstudioに読み込ませれば教科書にあるスクリプトやデータが使えるようになる。

 

2.十分な説明なしにデータを使わせるところが散見される。

 今見つけているのはpp.88-89(https://socviz.co/groupfacettx.html#avoid-transformations-when-necessary)

。p.88にある入力

titanic

はおそらくこれだけを入れてもエラーが出る。よって先ほどダウンロードしたzipファイルにあるdataフォルダの"titanic.rda"を作業フォルダに保存して読み込んでやる必要がある。RStudio上からは、File -> Open File でデータを選ぶ。p.89のoecd_sumについても同様。これが教科書には書いていないので、R初心者は戸惑うだろう。

(続)