データ分析メモと北欧生活

旧Untitled Note. データ分析、計量経済・統計とR、水産管理、英語勉強、海外生活などについて備忘録や自分の勉強のOutputの場所として

MENU

R

【R】n番目に大きい値をdplyr::summariseする。

問題 グループごとに平均や最大値などを計算するのに便利なdplyr::summariseですが、たとえば2番めに大きい値を計算したい、というときはどうすればいいか? 解決策 自分で簡単な関数を書く。 max2 <- function(x) { u <- unique(x) sort(u, decreasing = TR…

【R】とりあえず簡単にggpplot2で2軸目を書きたい時はsec.axis

数ヶ月に一回ググってる気がするので自分用にメモ。 問題 とりあえずggplot2でエクセル的な2軸プロット(左右に別のY軸があってグラフが重なってるやつ)を書きたい。 ググっても丁寧なブログはたくさん見つかるのだが、とりあえずどれやればいいの!となる…

【R】geom_sfで地図描こうとしたらst_cast.POINTというエラーが出た。

またしても備忘録 問題 ggplotを使ってsfオブジェクトを描画しようとすると以下のエラーが出た。 Error in st_cast.POINT(x[[1]], to, ...) : cannot create MULTILINESTRING from POINT 解決策 球形幾何のパッケージであるs2が有効になっていると起こる問題…

【R】Macでextrafont::font_import()を使うとエラーが出る話

備忘録。あとできちんと清書するかも。 問題 extrafontパッケージを使ってフォントをRにインストールしようとしたら引っかかったので調べた結果。extrafont::font_import()を使うとNo FontName. Skippingと出てインストールされないエラーが出る。How can I …

【R】差の差法でイベントスタディやるときのコード

Rのfixestパッケージが先月末にアップデートされたようです。このブログ投稿はこのバージョンの話ではないですが、3つ以上の固定効果を使うと、固定効果の推定がおかしくなるバグを直したらしいのでアプデ推奨のようです。⚠ Hot Fix ⚠Concerns #Rstats {fixe…

【R】固定効果モデルの推定がめっちゃ速いパッケージ { fixest }

以前から話題になっていたが、最近のアップデートで操作変数法にも対応したということで使ってみたら、めっちゃ早かったのでシェア。Rで固定効果モデル(経済学でいう固定効果モデル)を推定する場合、方法はいろいろあるが、基本的なものはlm()にダミー変数を…

【R】 broomパッケージ入門: Rのモデル出力を整然化(tidy)する

入門記事というより、俺が入門(おさらい)した内容をまとめています。分析結果を自動的に出力するために modelsummary::msummary() をもう少し深く勉強しているうちに、broomパッケージの内容をもうちょっときちんと理解せんといかんな、と思っておさらいす…

【R】geom_sfで描画エラーが出たけどsfアプデしてないだけだった

簡単な備忘録。tidyverseやR本体などアップデートしたら、付随する他のパッケージもアップデートしましょう。以前は普通に走ってたポリゴンファイルを読みこんでggplotで描画するコードにエラーが出たので調べたら、 tibble (というかtidyverse)はアップデ…

【R】新しい回帰分析表のパッケージ {modelsummary}

Rで計量経済や統計分析やる時に、結果をきちんと理解しながらモデル作りたいし、できたモデルの結果を書き出すのも間違いなくやりたいですよね。新しい回帰分析表のパッケージを発見したので、ざっと試してみました。 Rの回帰分析のパッケージ {modelsummary…

【R】スクレイピング時のループで404エラーが出た時に止まるのを避ける

ちょっと必要になって、ウェブサイト上のテーブルをまとめてダウンロードするという作業が必要になった。だいたいPythonとかでやるのが主流なようだが、私はR使いなのでRでやる方法を探しているとrvestというパッケージがよいらしい。rvestの基本的な使い方…

【機械学習】1標準偏差ルールはLASSOの正則化係数の正しい選び方?

機械学習に関してはビギナーレベルの知識しかないのだが、引っかかった点を備忘録にしておく。ベーシックな機械学習手法の一つにLASSOがある。もう少し広く言うと正則化手法の中に含まれる。一般的な線形回帰に推定法に比べて、パラメータの値を抑えたりゼロ…

sf::st_simplifyを使った後ggplot2のgeom_sfで起こるエラー

sfパッケージを使って地図をお絵描きしてたところで引っかかったかんたんなミスの備忘録。日本の都道府県の地図を描こうと思って以下のサイトからシェープファイルをダウンロードした。 今はsfオブジェクトのままで配布もしているらしい。 GADM sfオブジェク…

【R】パッケージインストール時の failed to lock directoryというエラー。

Rのglueというパッケージを更新しようとしたときに以下のようなエラーメッセージが出た。 Error in install.packages : ERROR: failed to lock directory ‘C:\Program Files\R\R- 3.6.1\library’ for modifying Try removing ‘C:\Program Files\R\R-3.6.1\li…

【R】ロジット・プロビットでの限界効果とデルタメソッドによる標準誤差の計算

以前に限界効果の計算について書いた。keita43a.hatenablog.com 前回の記事で触れていないのが、限界効果の標準誤差についてである。 仮に、ロジット(ロジスティック回帰)やプロビットの推定結果が統計的に有意であっても、 その結果によって計算した結果…

【R】データ入力するだけで更新可能な履歴書(CV)を作る

これ日本だとあまり浸透してないかもしれないんですが、海外では履歴書ってわりと形式が自由です。学歴・職歴とかを書くのは変わりないんですが、細かい形式は指定されてない事が多いので、見やすければいいということで、ワードにベタ書きする人もいれば、L…

【R】estimatr::lm_robustで回帰分析のテーブル表をhuxregで出す。固定効果付きで。

以前、RでStata的な回帰分析を手軽にやるにはestimatr::lm_robustが良さそう、という記事を書きました。keita43a.hatenablog.com 実際に自分でもlm_robustを結構使っていたのですが、このlm_robustにもちょっと不便な点がいくつかあって、その一つが回帰分析…

【R】整頓されてない時系列のデータから、一日前だけのラグを作りたい。

これ賢いやん、と思った簡単なテクニックを見つけたのでメモ。 問題 一部の日付が抜けているようなデータ(アンバランスドパネル)で、一日前のラグを作りたいが、日付が抜けているところは飛ばしたい。 lag()を使うと、一日以上前のデータのラグを作ってし…

Stargazerの回帰分析表の備考欄を左に寄せたい

ちょっとつまづいたので備忘録。 状況 Rmarkdownで論文書いてて、なにかしらの回帰分析の結果を表にまとめてPDF出力したい。 いつも使っているのはStargazerというパッケージです。R側からの設定がいろいろできるので楽。Stargazerでできる設定についてはこ…

【R】tlmgrでTexのパッケージ更新したらRmarkdownでPDF作れなくなった。

Rmarkdownで色々格闘していて、なんとか楽に論文のフォーマット調整してやろうとしていたのだけれど、あるエラーでかえって時間がかかってしまった。最近出た問題らしいので、ここでシェアしておく。MacTex (Tex Live)のパッケージの更新をtlmgrで行いますよ…

MSワードからR Markdownに数式を移植するときにUnicode文字のエラーが出る問題

あんまり需要のなさそうな話だが、備忘録として書き留めておく。ある論文を改訂するのに、マイクロソフトワードで昔書いていたのだが、分析もやり直すので思い切ってR Markdownに移植して最終的にPDFとして作ることにした。MSワードで書いたファイルをコピペ…

【R】包絡分析(DEA)や確率フロンティア分析(SFA)のRパッケージ: Benchmarking

包絡分析(Data Envelopment Analysis) や確率フロンティア分析(Stochastic Frontier Analysis)は企業や団体の生産性・効率性を測るのに使用される分析方法である。入力(input)と出力(output)について、クロスセクション(一時点で複数の企業等のデー…

Rで計量経済の回帰分析やるならestimatrパッケージが良さそう。

計量経済学の分析をRでやろう!とした時、計量経済ならではのモデルや検定などがあるんですが、ちょっと前はRだとめんどくさくて、やっぱstataだよね~となってた部分があると思うんですが、Rの隆盛に伴っていろいろパッケージが出てくるようになった気がし…

Rのdplyrで層化サンプリング

手元のラップトップで扱うにはあまりにでかいデータを扱うことになって困っている。 とりあえず大学に使えるサーバーとか無い?と連絡しているが、当面は手元でやるしかなさそうなので、ランダムサンプリングしてデータを小さくして分析することにした。単純…

【R】行ごとに引き算を行って列ごとの分散を計算する

自分でBootstrapを行い、各パラメーターの標準誤差を計算するときに、少し行列の演算で引っかかったので備忘録。最初にまとめておくと 行列からベクトルを引くと、自動的に列ベクトルとして計算されてしまう。 ベクトルを転置してもエラーになる。 行列を転…

【R】RODBCパッケージでSQLのバックアップファイル(.bak)を開いた話

基本的にRしか使えない私が、データベースファイルを受け取ってなんとかRで読み込めるようにするまでのドタバタを記録しておく。共同研究者からもらったデータのファイルが見慣れない拡張子だったので、調べてみた。いかんせん現在使われてるはずない拡張子(…

【R】sfパッケージでCRS情報のないファイルをあるファイルと一緒に使いたい

RでGISといえば最近はsfパッケージらしいですね。 spとsfの違いとか、そもそもCRSのとは?みたいなレベルながら空間情報を扱いたくて、少しずつ使い始めています。今回やりたいのは、すでにある地図になにか緯度経度の情報のみのデータを重ねたいときに、ち…

【R】コンマを小数点記号に使っている場合の処理

ヨーロッパ言語圏に多いみたいですが、小数点をドット(ピリオド)ではなく、コンマ(カンマ)を用いて表現する地域があります。 今私はノルウェーのデータ扱ってるんですが、どうしても数量データを文字列として読み込むので原因を調べてみたら、これでした…

【R】エクセルのファイルをロードしたい

データっていろんなフォーマットで保存されてますが、まぁ一般的なのがエクセル(.xls, .xlsx)ですね。 データ分析とか仕事でしてる人からしたら「は?」って感じかもしれないですが、未だに政府系のデータとかエクセルフォーマットのみで記録されてたり、…

Rで最尤法の復習

自分で尤度関数を書いて最尤法で推定する必要があったので、簡単に最尤法 (Maximum Likelihood Estimation)を復習。読んで字のごとく、最も尤もらしいパラメーターを見つける推定法が最尤法である。シンプルな生産関数の最尤推定例えば、以下の生産関数のパ…

すごく基本的な線形回帰のモンテカルロ・シミュレーション

簡単なモンテカルロ法を、R言語でやります。知っている人にとってはすごく基本的なことだけれど、復習がてら。 ステップ Xという乱数を作る。 平均2, 標準偏差1の正規分布から25個の乱数を発生させる。 Xに依存した乱数Yを作成する。 は標準正規分布からの乱…