1 R言語の導入

  • 経済データ分析Ⅱではエクセルで推計できない高度(変数の数を増やしたり,単純な線形回帰分析以外の実証分析手法も使いますので)な実証分析をします。

  • 経済データ分析Ⅰで使ったExcelでも簡単な計量分析は可能ですが,ある程度高度な実証分析を行うためには専門的なアプリケーションが必要になります。経済学でよく使われるソフトウェアは以下の通り

    • 有料ソフト:Stata、Eviews
    • 無料ソフト:R、Python

1.1 R言語とは

  • 「統計解析、データ分析、グラフィック分野を得意とするプログラミング言語」

  • オープンソースなので無料で利用することができます。

  • R言語は、統計計算・グラフィックの分野に特化しています。

  • 統計解析分野において、簡単なコードで複雑な統計計算を実施できる「パッケージ」の種類も豊富です。2020年末時点で1万7千件弱のパッケージが利用可能です。統計解析を中心に、時系列分析・機械学習・バイオインフォマティクスなどの分野でも活用されています。

  • 世界中のRユーザーが作成した統計解析パッケージがCRAN (Comprehensive R Archive Network)で公開されており,このパッケージをダウンロードして使うことができます。

  • RはコマンドやHELP検索で英語が必要なので,敬遠する学生も多くいますが,今はネットでも簡単に英訳できますので,苦手意識を持たないでください(逆に言うと,この程度の英語が読めれば仕事はできます)。

  • オープンソースでソフトウェアもパッケージも日々進化し続けるので,どのバージョンを使っているのかには注意しましょう。

2 RとR Studioのインストール

2.1 R studio

  • 学校で提供されるパソコンにはRが既にインストールされています。

  • 自宅でも課題や卒論の作成が出きるように,自分のパソコンにもRとRをダウンロードしましょう。

  • まず,http://cran.r-project.orgを開いて下さい。

**Rのダウンロード方法**

Rのダウンロード方法

  • 次に,ダウンロードしたセットアップファイル(この場合は,“R-4.3.3-win.exe”)から以下のようにインストールしてください。

    • 赤枠で囲んである箇所は各自選ぶ。
    • それ以外は「次へ(N)」をクリックしてください。 ― インストール終了後にデスクトップにアイコンrlog があることを確認してください。
    **Rのインストール方法

    **Rのインストール方法

2.2 Rの使い方

  • Rでのコマンドの実行は,コマンドライン上,“Rエディタ”上などいくつかの方法があります。

  • Rを実行するためには直接Rを使うこともできますが,非常に使いにくいので「R Studio」を使います。

  • 他にも,追加パッケージRコマンダー(Rcmdr)の利用など様々方法はあります。ほかの方法で使い慣れている人はそちらを使ってもよいです。

2.2.1 R Studioのインストール

  • RStudioはRを使うための開発環境(プログラミングをするためのアプリ)です。
  • RStudioにはRを便利に使うための機能が豊富に用意されているため,広く普及しています。
  • インストールは,https://posit.co/download/rstudio-desktop/から「Install RStudio」→「DOWNLOAD RSTUDUO FOR WINDOWS」で行います。

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(諸機能)

  1. File
  • フォルダにアクセスします。各ファイルをクリックするとその場で開くことができます。また名前の変更やディレクトリ作成などもできます。
  1. plots
  • グラフなどを出力するとここに表示されます。画像などにエクスポートできます。授業でも使います。
  1. Packages
  • Rの拡張パッケージを管理できます。Rはパッケージによりいろいろな機能を利用するので,結構使います。
  1. Help
  • ヘルプウィンドウで、Rの関数などを検索したり,その組み込みのヘルプを閲覧することができます。

4. Environment, History(環境等)

  1. Environment
  • Rの環境を表示します。あまり使いません。
  1. History
  • Consoleで実行した内容の履歴です。Consoleに送ったり,Scriptに送ったりすることもできます。

2.2.2 R Studioの環境設定

  • R Studioを起動すると自動的にRも起動されます。
  • ここでは,R Studioの環境設定機能を使って,作業フォルダの設定を行います。R Studioで作業用フォルダを設定すると,ファイルの場所を一々指定することが不要になります。
  • 経済データ分析Ⅱの作業用フォルダを作成し,授業で使うデータやレジュメ等はすべてそこに置くことにしましょう。
  • トップメニューの「Tools」→「Global Options」→「General」をクリックすると下記のwindowが表示されます.
  • そこで,Default working directory のBrowseをクリックして,作成した作業フォルダーを指定してください。
  • この設定をすると,諸機能ペインのファイル表示が指定した作業フォルダーになります。
**作業用フォルダーの設定**

作業用フォルダーの設定

2.2.3 データファイルの読み込み

  • R Studioでは,Excelファイルをはじめ様々な形式のデータファイルを読み込めます。
  • ここでは,前回の作業使ったExcelファイルを読み込んでみましょう。ただし,Rは日本語との相性があまりよくないので,変数名を英語に変更した”Land Price & factors”sheetのデータを使います。

1. R Studioでのデータの読み込み

① 「Environment」⇒「IImport Dataset]}→「From Excel」を選択すると以下のウインドウがでます。

② 「Browse」でdata2_01のあるフォルダを指定して,sheetを「land price&factor」,Nameを”landprice”とすると,「Source Editor」にデータが表示されます。

**Excelデータの読み込み画面**

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**

コマンドの実行1

  • Consoleに青文字で実行したスクリプトが青文字で表示されます.赤文字の場合はcodeにエラーがあったことを示しており,実行されていないのでエラーを修正しましょう。

 - エラーがどうしても修正できない場合は、Copilotなどにコードをコピペして間違いを聞いてみよう。

**コマンドの実行2**

コマンドの実行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

2.3 簡単な実証(重回帰分析)

  • 以下の回帰式の推定を行ってみましょう。

    \[ 地価_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の結果を要約して出力させる命令です。

  • このコマンドをスクリプトに保存しておけば,次回以降はこのステップを省略して同じ結果が得られます。

    • 変数を入れ替えるときなどは,最初のモデルだけ打ち込んで,あとはコマンドをコピーして入れ替えたい変数だけ手入力すると作業が早くなったりします。

2.4 データ,Rcmdr スクリプト,出力ファイルの保存。

  • データオブジェクトlandpriceを保存は,Enviromentペインのセーブコマンドをクリックして,名前をつけて保存可能です。

  • スクリプトファイルをきれいにしておくと,作業中断時点からの復元が容易になりますので,活用してください。

作業 1.上記で作成したlandprice.Rをアップロードして下さい。