経済データ分析Ⅱではエクセルで推計できない高度(変数の数を増やしたり,単純な線形回帰分析以外の実証分析手法も使いますので)な実証分析をします。
経済データ分析Ⅰで使ったExcelでも簡単な計量分析は可能ですが,ある程度高度な実証分析を行うためには専門的なアプリケーションが必要になります。経済学でよく使われるソフトウェアは以下の通り
「統計解析、データ分析、グラフィック分野を得意とするプログラミング言語」
オープンソースなので無料で利用することができます。
R言語は、統計計算・グラフィックの分野に特化しています。
統計解析分野において、簡単なコードで複雑な統計計算を実施できる「パッケージ」の種類も豊富です。2020年末時点で1万7千件弱のパッケージが利用可能です。統計解析を中心に、時系列分析・機械学習・バイオインフォマティクスなどの分野でも活用されています。
世界中のRユーザーが作成した統計解析パッケージがCRAN (Comprehensive R Archive Network)で公開されており,このパッケージをダウンロードして使うことができます。
RはコマンドやHELP検索で英語が必要なので,敬遠する学生も多くいますが,今はネットでも簡単に英訳できますので,苦手意識を持たないでください(逆に言うと,この程度の英語が読めれば仕事はできます)。
オープンソースでソフトウェアもパッケージも日々進化し続けるので,どのバージョンを使っているのかには注意しましょう。
学校で提供されるパソコンにはRが既にインストールされています。
自宅でも課題や卒論の作成が出きるように,自分のパソコンにもRとRをダウンロードしましょう。
まず,http://cran.r-project.orgを開いて下さい。
Rのダウンロード方法
次に,ダウンロードしたセットアップファイル(この場合は,“R-4.3.3-win.exe”)から以下のようにインストールしてください。
**Rのインストール方法
Rでのコマンドの実行は,コマンドライン上,“Rエディタ”上などいくつかの方法があります。
Rを実行するためには直接Rを使うこともできますが,非常に使いにくいので「R Studio」を使います。
他にも,追加パッケージRコマンダー(Rcmdr)の利用など様々方法はあります。ほかの方法で使い慣れている人はそちらを使ってもよいです。
R Studio起動とペイン(参照:https://kazutan.github.io/JSSP2018_spring/intro_rstudio.html)
1. Console(入力)
Rを対話的に操作する場所。コマンドを記述して実行します。Rに対して「これをやれ」と指示を出し、その結果もまたここに出てきます。
下で説明するSource Editorについても,実行するとこのConsoleに実行結果が出てきます。
2. Source Editor(編集)
コマンド等のスクリプトやファイルなどを編集する場所です。ファイルを開いたり,コードを編集して保存したり,そのコードを実行します。
ここでコードを実行すると、その内容がConsoleへ順次送られて実行されます。
授業では,ここでRスクリプトファイル(*****.R)を作成して,それを実行して実証分析を行っていきます。
作業後はスクリプトファイルを提出してもらうことになります。
※ ペイン(画面)ではなく,SouceE ditorが表示されない場合もあります.その場合は,「file」→「New File」→「RScript」からSource Editorペインを出してください.
3. File, Plots, Packages, Help(諸機能)
4. Environment, History(環境等)
作業用フォルダーの設定
1. R Studioでのデータの読み込み
① 「Environment」⇒「IImport Dataset]}→「From Excel」を選択すると以下のウインドウがでます。
② 「Browse」でdata2_01のあるフォルダを指定して,sheetを「land price&factor」,Nameを”landprice”とすると,「Source Editor」にデータが表示されます。
Excelデータの読み込み画面
- いずれの方法でも読み込むと環境ペインに読み込んだデータが現れます。(確認してください)
③ 環境ペインの「History」タグをクリックすると,今行った一連の作業に対応するコマンドが記録されています。
“Source Editor”ペインをデータ表示からスクリプト表示に変えてください。
次に“History”ペインのから下記2行を選択し,“To Source”をクリックしてください。
library(readxl)
landprice <- read_excel("data2_01.xlsx", sheet = "Land Price & factors")
“Source Editor”ペインのスクリプトにコマンドが移行されました。
2. コマンドの解説
library(readxl)← “readxl”というエクセルを呼び出すパッケージを読み込む。
landprice <- read_excel(“data2_01.xlsx”, sheet = “Land Price & factors”)
右辺:read_excel("ファイル名の置き場所",Sheet="読み込むシート名")という関数でデータを読み込む左辺:landpriceという箱(オブジェクトといいます)にデータを格納。3. スクリプトの実行
― source editorにあるスクリプト内のコマンドは以下のように実行します。
①実行したいコマンドをドラッグして選択する。
②Runをクリックする。
※下記を実行する前に,スクリプトにrm(list = ls())と入力して、先ほど読み込んだデータを削除してください。
コマンドの実行1
- エラーがどうしても修正できない場合は、Copilotなどにコードをコピペして間違いを聞いてみよう。
コマンドの実行2
4. データ内容と構造の確認
以下のコマンドをRスクリプトに記述して,実行してください。
内容を表示するコマンド。データオブジェクト名を実行するだけ
landprice
データ構造を調べるコマンド
str(landprice)
データオブジェクトの1変数を出力するコマンド
landprice$変数名 (ここでは,landpriceを出力してみてください。)
上記を実行するとConsoleに以下のような情報が出力されます.
| year | landprice | housingprice | norminalgdp | realgdp | loaninterestrate |
|---|---|---|---|---|---|
| 1980 | 43645.08 | 2881.900 | 247377.2 | 226078.5 | 8.3450000 |
| 1981 | 48666.35 | 2977.427 | 265697.5 | 242821.5 | 7.8630000 |
| 1982 | 51445.46 | 3063.911 | 278714.3 | 254717.5 | 7.3130000 |
| 1983 | 52898.47 | 3162.850 | 290215.5 | 265228.5 | 7.1280000 |
| 1984 | 54204.59 | 3468.430 | 309554.3 | 282902.3 | 6.7490000 |
| 1985 | 58648.65 | 3605.216 | 330026.0 | 301611.4 | 6.6000000 |
| 1986 | 75291.10 | 3798.053 | 345515.4 | 315767.2 | 6.0200000 |
| 1987 | 99505.81 | 3900.196 | 360246.6 | 329230.1 | 5.2080000 |
| 1988 | 109029.62 | 4191.302 | 385186.2 | 352022.5 | 5.0340000 |
| 1989 | 126137.68 | 4303.716 | 411991.7 | 376520.0 | 5.2870000 |
| 1990 | 135694.00 | 4423.350 | 442933.9 | 404798.2 | 6.8640000 |
| 1991 | 122694.84 | 4621.348 | 472040.5 | 431398.8 | 7.5300000 |
| 1992 | 109084.96 | 4775.707 | 485143.6 | 443373.7 | 6.1140000 |
| 1993 | 101288.34 | 5076.088 | 489634.7 | 447478.1 | 4.4140000 |
| 1994 | 96225.95 | 4966.766 | 510916.1 | 446522.3 | 4.0470000 |
| 1995 | 90458.48 | 4946.860 | 521613.5 | 458270.3 | 2.7880000 |
| 1996 | 87304.99 | 5000.229 | 535562.1 | 472631.9 | 2.5330000 |
| 1997 | 84122.34 | 4982.174 | 543545.4 | 477269.5 | 2.3670000 |
| 1998 | 79765.25 | 5259.143 | 536497.4 | 471206.6 | 2.2550000 |
| 1999 | 75391.59 | 5277.194 | 528069.9 | 469633.1 | 2.1000000 |
| 2000 | 70667.82 | 5415.074 | 535417.7 | 482616.8 | 2.1160000 |
| 2001 | 65963.96 | 5304.147 | 531653.9 | 484480.2 | 1.8800000 |
| 2002 | 61497.65 | 5365.065 | 524478.7 | 484683.5 | 1.8340000 |
| 2003 | 57266.13 | 5618.117 | 523968.6 | 492124.0 | 1.7990000 |
| 2004 | 54013.30 | 5616.576 | 529400.9 | 502882.4 | 1.7320000 |
| 2005 | 53170.13 | 5551.526 | 532515.6 | 511953.9 | 1.6771667 |
| 2006 | 54131.77 | 5503.795 | 535170.2 | 518979.7 | 1.4640000 |
| 2007 | 55645.97 | 5408.064 | 539281.7 | 526681.2 | 1.6848333 |
| 2008 | 54674.21 | 5377.851 | 527823.8 | 520233.1 | 1.5903333 |
| 2009 | 51586.09 | 5468.359 | 494938.4 | 490615.0 | 1.3480000 |
| 2010 | 50204.51 | 5473.094 | 505530.6 | 510720.0 | 1.1967500 |
| 2011 | 48673.16 | 5485.692 | 497448.9 | 510841.6 | 1.0978333 |
| 2012 | 47203.42 | 5409.836 | 500474.7 | 517864.4 | 1.0369479 |
| 2013 | 46559.88 | 5357.355 | 508700.6 | 528248.1 | 0.9961333 |
| 2014 | 46321.99 | 5561.309 | 518811.0 | 529812.8 | 0.9580639 |
| 2015 | 46136.71 | 5522.150 | 538032.3 | 538081.2 | 0.9220106 |
| 2016 | 46044.43 | 5498.502 | 544364.6 | 542137.4 | 0.8033333 |
| 2017 | 46044.43 | 5517.668 | 553073.0 | 551220.0 | 0.8016667 |
| 2018 | 46182.57 | 5547.815 | 556630.1 | 554766.5 | 0.7629167 |
| 2019 | 46459.66 | 5559.516 | 557910.8 | 552535.4 | 0.7208333 |
| 2020 | 46831.34 | 5557.651 | 539082.4 | 528894.6 | 0.7645000 |
| 2021 | 46831.34 | 5555.787 | 549379.3 | 540237.0 | 0.7285833 |
## tibble [42 × 6] (S3: tbl_df/tbl/data.frame)
## $ year : num [1:42] 1980 1981 1982 1983 1984 ...
## $ landprice : num [1:42] 43645 48666 51445 52898 54205 ...
## $ housingprice : num [1:42] 2882 2977 3064 3163 3468 ...
## $ norminalgdp : num [1:42] 247377 265698 278714 290215 309554 ...
## $ realgdp : num [1:42] 226079 242822 254718 265228 282902 ...
## $ loaninterestrate: num [1:42] 8.35 7.86 7.31 7.13 6.75 ...
## [1] 43645.08 48666.35 51445.46 52898.47 54204.59 58648.65 75291.10
## [8] 99505.81 109029.62 126137.68 135694.00 122694.84 109084.96 101288.34
## [15] 96225.95 90458.48 87304.99 84122.34 79765.25 75391.59 70667.82
## [22] 65963.96 61497.65 57266.13 54013.30 53170.13 54131.77 55645.97
## [29] 54674.21 51586.09 50204.51 48673.16 47203.42 46559.88 46321.99
## [36] 46136.71 46044.43 46044.43 46182.57 46459.66 46831.34 46831.34
以下の回帰式の推定を行ってみましょう。
\[ 地価_i=\beta_0+\beta_1 住宅家賃_i+\beta_2 名目GDP_i+\beta_3 実質GDP_i+\beta_4 金利+u_i \]
Rスクリプトに下記のコマンドを打ち込んでください.分析結果が出力されます。
model1 <- lm(landprice ~ housingprice + norminalgdp + realgdp + loaninterestrate ,data = landprice)
summary(model1)
##
## Call:
## lm(formula = landprice ~ housingprice + norminalgdp + realgdp +
## loaninterestrate, data = landprice)
##
## Residuals:
## Min 1Q Median 3Q Max
## -23845 -8480 -3302 4729 45389
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -1.642e+05 4.563e+04 -3.599 0.000930 ***
## housingprice 2.351e+01 1.782e+01 1.319 0.195208
## norminalgdp 4.594e-01 1.226e-01 3.747 0.000609 ***
## realgdp -3.316e-01 1.537e-01 -2.158 0.037519 *
## loaninterestrate 1.501e+04 2.713e+03 5.533 2.69e-06 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 15250 on 37 degrees of freedom
## Multiple R-squared: 0.682, Adjusted R-squared: 0.6477
## F-statistic: 19.84 on 4 and 37 DF, p-value: 8.476e-09
ひとつ目のコマンドは,被説明変数を\(landprice\)として,説明変数を,dataオブジェクト名landprice内の\(housingprice\), \(norminalgdp\), \(realgdp\) ,\(loaninterestrat\)の4つを用いてmodel1という名のオブジェクトして重回帰分析を行うよう命令したコマンドです。
ふたつ目のコマンドは,オブジェクトmodel1の結果を要約して出力させる命令です。
このコマンドをスクリプトに保存しておけば,次回以降はこのステップを省略して同じ結果が得られます。
データオブジェクトlandpriceを保存は,Enviromentペインのセーブコマンドをクリックして,名前をつけて保存可能です。
スクリプトファイルをきれいにしておくと,作業中断時点からの復元が容易になりますので,活用してください。
作業 1.上記で作成したlandprice.Rをアップロードして下さい。