この記事(雑誌『英語教育』(戦後)の量的傾向をざっと見る - こにしき(言葉、日本社会、教育))の続きです。
前述の『英語教育 Fifty』附録の記事タイトルのデータはエクセル形式で提供されていたはずなので、表計算ソフトなどをつかえば、ある用語のトレンドは調べられます。ただ、たとえばMSエクセルだと、30,000ケースを越える文字データの処理はけっこう時間がかかり、しかも操作が煩雑で意外と面倒です。というわけで、統計ソフトRで処理した方が、ストレスのない分析ができると思います。
僕もこれを分析していて初めて知ったんですが、Rには正規表現を扱える関数があるそうです。基本のパッケージに入っているので、単純に僕の勉強不足でしたが。。。というわけで、詳しくは以下を参照して下さい。
以下では、目的の文字列をとりだす grep()関数を使って、「オーラル」という語の分析例を見ていきます。
※なお、この関数の用法については、ヘルプを参照
データの下ごしらえ
まず、エクセル形式のデータをRに読み込んだものを、さらにgrep()で分析するための下準備をします。
### ※ 表形式のデータが D に格納されているとする ### ※ タイトルと出版年の行にそれぞれ "title","year"というラベルがついているとする、 T <- D[,"title"] # 元データDからタイトルだけを取り出す Y <- D[,"year"] # 元データDから出版年だけを取り出す YY <- 10*floor(.1*Y) # 出版年(1年ごと)を「年代」(10年刻み)に変換する N.YY <- table(YY) # あとで比率を計算するために母数=総記事数(年代ごと)を算出する
「オーラル」という語を含む記事の取り出し
XXX <- "オーラル|oral" # 目的の文字列指定 # ここでは、カタカナと英語いずれかを含めばOKとしています i <- grep(XXX,T,perl = TRUE, ignore.case=T) # タイトル内にXXXで指定した文字列を含むケース (n <- table(YY[i])) # 頻度を算出 (p <- round(100*table(YY[i])/N.YY[names(n)],3)) # 出現率(%)を算出
結果
> (n <- table(YY[i])) # 頻度 1950 1960 1970 1980 1990 2000 26 18 14 8 67 8 > (p <- round(100*table(YY[i])/N.YY[names(n)],3)) # 出現率(%) 1950 1960 1970 1980 1990 2000 0.944 0.280 0.177 0.094 0.843 0.475 >
ついでに、図示してみます
barplot(p,las=1,main=XXX,ylab="出現率(%)") # 出現率を棒グラフで text(c(1:length(n))*1.2-.4 , 0 , pos=3,n ,col=2) # 頻度を数字で
コメント
90年代に突如急増していますが、この理由はすぐピンときます。「オーラルコミュニケーション」という科目が導入されたことで、編集方針などが影響を受けたと考えられるからです。
一方で、50年代にもかなり「オーラル」への注目があったようです。この「オーラル」熱は60年代以降90年代になるまで次第に薄れてきたように見えます。この理由はなんでしょうか?戦後英語教育史(というほどでもないですが)に詳しい方ならすぐわかるでしょうが、アレのせいです。(実際、僕は、生データ=実際の記事を見ているので、アレでOKです)