GNU R

tblからdouble(numeric)の列だけ取り出す

tibbleからdoubleのデータだけ取り出したい場合、どうすればいいか少し手間取ったので、覚書を残す。 require(dplyr) require(nycflights13) weather <- nycflights13::weather %>% select(origin, time_hour, temp, humid, precip) 注釈:このweatherという…

dplyrでlag()を使って、valueをずらすと空いた欄にNAが入るためそれを0に置き換える

require(tidyverse) date <- seq(as.Date("2020-1-1"), as.Date("2020-12-01"), by = "month")datevalue <- seq(1:12) test <- data.frame(date, value)test # たとえば、lag()を使って、valueをずらすと# 空いた欄にNAが入ることを確認するためのコード# 1…

seq()は日・月・年ごとの年月を生成できる

date <- seq(as.Date("2020-1-1"), as.Date("2021-12-01"), by = "month")date 日ごとにしたければ、by="day"、四半期ごとにしたければ、by="quarter" 長くRを使っているのだが、最近知った(古くからある機能らしい)。

RでStataのdtaを読み込む

いくつか方法があるが、パッケージhavenを使う方法が比較的手軽に使えるようである。以下は覚書。 require(haven) url <- "http://www.principlesofeconometrics.com/stata/broiler.dta" data.df <- read_dta(url) 参考文献: How to Read and Write Stata (…

Rstudioでソースのあるディレクトリに移動する方法

Rstuidoを使っている人限定: setwd(dirname(rstudioapi::getActiveDocumentContext()$path)) 参考文献 stackoverflow.com

dplyrのselectとlagが衝突する場合の対応

メモ:最初に書いた内容に間違いあったため、修正。 一年ほど前に書いたRのコード(dplyr)が動かないことがわかった。コードを追ったところ(1)dplyr::selectがMASS::selectと衝突、(2)dplyr::lagがstats::lagと衝突していることが分かった(1年前は問…

huxtableのhuxregを使ってlmの結果をワードに出力

自分用覚書:huxregと quick_docxは便利なのでオススメ install.packages("huxtable") require("huxtable") lm.res1 <- lm(mpg ~ wt , data = mtcars) lm.res2 <- lm(mpg ~ wt + qsec, data = mtcars) lm.hux <- huxreg(lm.res1, lm.res2, number_format = "…

jtoolsを使ってlmの結果をワードに出力

後日のメモ:huxtableのhuxregを使えばいいので、jtoolsは不要かもしれない。 install.packages("flextable") install.packages("officer") install.packages("huxtable") require(“jtools”) lm.res <- lm(mpg ~ wt + qsec, data = mtcars) lm.summ <- summ(…

tidy()を使ってopenxlsxで結果を出力

library(ggplot2) library(dplyr) library(broom) library(openxlsx) lm.res <- lm(mpg ~ wt + qsec, data = mtcars) lm.res %>% summary() %>% tidy() -> lm.tidy lm.res %>% summary() %>% glance() -> lm.glance wb <- createWorkbook() addWorksheet(wb,…

dplyrのmutateでlagと差分(自分の使うところだけ)

color <- c("R","B","B","R","R") weight <- c(51,55,72,57,64) dfrm <- data.frame(COL=color, WEI=weight) dfrm %>% mutate(WEILag = lag(WEI)) メモ:lagを使うと、データは下に1段下がる(1行下がる)。 差分を計算するとき、diff()は使えず、G_delta = …

embedの使い方(自分の使うところだけ)

embedの使い方(自分用のメモ) Rにはembedという関数があり、ベクトル・時系列を指定期間ずらす作業に使える。言葉で聞くとなんだかわからないと思うので、たとえば以下のような時系列データがあったとする。 デモ用データ 使い方は以下のとおり demoTs <- …

openxlsxの使い方(自分が使うところだけ)

require(openxlsx) tmpdat<- read.xlsx("./data.xlsx", sheet = 2, startRow = 9, detectDates=TRUE)head(tmpdat) wb <- createWorkbook()addWorksheet(wb, 'Sheet1')addWorksheet(wb, 'Sheet2')writeData(wb, sheet = 'Sheet1', x = lm.res1, withFilter=F)…

成長率の計算

以下に改訂版の既述あり。 成長率の計算(改訂版) - ハリ・セルダンになりたくて(はてダから移行中) Rを使って成長率(%表示)を計算する方法についての備忘録。 前提:tsDataをベクトルもしくはtsオブジェクトとする。 その1:対数差分 diff(log(tsDat…

RでX-13ARIMA-SEATSを使う(2019年6月版)

自分用の覚書CRANにあるx13binaryが使えるようになったので、自分でX-13ARIMA-SEATSをコンパイルする必要がなくなり、MacとWinの違いもなくなりました。 [インストール]GNU Rで二つのパッケージをインストール install.packages("seasonal") 注:seasonalを…

GNU R (Windows10)にR Interface to 'Keras'をインストールする

GNU R (実際の作業はRstudio)でKerasをインストールしたときの覚書。基本的には(1)Anacondaインストール、(2)Anacondaでtensorflowインストール、(3)R上でdevtoolsインストール、(4)devtoolsでkerasインストール、(5)Windows上でRtoolsインス…

Rstudio (Windows10)でRのでパッケージをインストールする

Rstudio (Windows10)でRのでパッケージ(devtoolsなど)をインストールするとき、パスに日本語がある場合、Rstudioが認識できない(日本語パスの部分が????になる)。 libpathsでパスを指定する方法もあるが、一番簡単なのはRstudioを管理者権限で起動してイ…

RでX-13ARIMA-SEATSを使う(2019年6月版)

自分用の備忘録です。CRANにあるx13binaryが使えるようになったので、自分でX-13ARIMA-SEATSをコンパイルする必要がなくなりました。[インストール]GNU Rで二つのパッケージをインストール install.packages("seasonal"); install.packages("x13binary") [GN…

Rでxlsxを読み書きする

以下のサイトが非常に分かりやすかったです。 R で openxlsx パッケージを用いて xlsx ファイルを扱う - Qiita http://qiita.com/zero310/items/71b6e5bc0731680d19dfRで解析:セル体裁!大きなデータも大丈夫!エクセル操作の「openxlsx」パッケージ http:/…

varsでのベクトル自己回帰の結果をxtableでLaTeXに出力する

変数それぞれに対して係数の推定結果を出力することは可能*1。たとえばこんな感じ: require(vars) data(Canada) var.canada summary(var.canada) ここまではvarsの機能。Canadaはe, prod, rw, Uの4変数からなるデータセット。たとえばUに関する回帰式の推定…

install.packagesでCRANを指定する

optionsコマンドでreposを指定する。 options(repos="http://cran.ism.ac.jp/")

GNU Rのパッケージvarsのvarresultから係数を取り出す

varresultから係数を取り出す。tmp tmp["enlargePrisonTime"]

GNU RでX-13ARIMA-SEATSを使う

注意:内容が古いので、新しいエントリーをご覧ください(2017年5月19日記)。自分用の備忘録:[UNIX, OS Xで自分でコンパイルして使う場合] US CENSUS(米国の国勢調査局)からtar -zxvf x13assrc.tar.gzをダウンロードするhttps://www.census.gov/srd/www/…

GNU Rで多くの配列を結合する

do.call("rbind", listOfMatrices) [ネタ元] http://pj.freefaculty.org/R/Rtips.html#toc-Subsection-3.15

GNU Rでリストに要素を後から付け加える

Lst Lst\[\[1\]\] [ネタ元] http://www.okada.jp.org/RWiki/?%A5%EA%A5%B9%A5%C8Tips%C2%E7%C1%B4#ha6b47d4

GNU Rの配列で条件に沿った添字を取り出し

whichを使うとかなりいろいろなことができる: tmpMatrix which(tmpMatrix[,1] == 2) tmpMatrix[which(tmpMatrix[,1] == 2) ,] which(tmpMatrix[,1] == 10 & tmpMatrix[,2] == 20) tmpMatrix[which(tmpMatrix[,1] == 10 & tmpMatrix[,2] == 20),] which(tmpM…