備忘ログ

チラシの裏的備忘録&メモ

2021-01-01から1年間の記事一覧

Rで`for`ループで大量に`{ggplot2}`でグラフを書きたい(`purrr::map()`も添えて)

Rでforループで大量に{ggplot2}でグラフを書き、Rmarkdown で書いたレポートに入れたいと思った。forループじゃなくpurrr::map()の例は最後に書く。 {ggplot2}で、例としてirisデータのSpeciesごとに、Sepal.LengthとSepal.widthの散布図を書きたいとする。3…

Rの{psych}のrevese.code()のメモと逆転項目の処理のメモ、蛇足で{car}のrecode()で逆転項目を処理する方法も添えて

Rの{psych}パッケージに逆転項目を逆転させる処理するrevese.code()という関数があるのでそのメモ。 Rで逆転処理をする話がたまに見かけるので。 ここでの逆転項目というのは1~7の結果を1は7、2は6、……と結果を逆にしなければならない項目のこと。心理尺度…

`{tidyr}`の`pivot_longer()`の`names_pattern`と`pivot_wider()`の`names_glue`で混乱したメモ

たまに次のような時系列を意図したデータに出くわす時がある。 # サンプルデータを作る set.seed(5) d <- data.table::data.table(ID = letters[1:5], "BMI(0)" = rnorm(5, 25), "BMI(6)" = rnorm(5, 25), "BMI(12)" = rnorm(5, 25), "Steps(0)" = rnorm(5, …

Rのggplot2で地図を書いた時にいい感じに見えるようにするときのメモ

タイトルそのまま、Rのggplot2で地図を書いた時にいい感じに見えるようにするときの個人的なメモ。 例として東京都の市区町村レベルの地図を人口データで色分けしてみる。 データは東京都の国土地理院の行政区域のシェープファイル(N03-20210101_13_GML.zip…

国土地理院のシェープファイルからRで使いやすいデータを作ってggplot2で都道府県レベルの日本地図を描くメモ

R

国土地理院の公開している日本の行政区域のシェープファイルをつかってRで使いやすい塩梅の都道府県レベルのデータにして{ggplot2}で日本地図(都道府県レベル)を描画する。 以前書いたこれ indenkun.hatenablog.com がだめになったので代替案的な。 シェー…

Rのggplot2でデータにない値を凡例に反映させるメモ

Rの{ggplot2}でグラフを書くときに色分けしたりすると使われている値をみて凡例をいい塩梅に調整してくれるので大体の場合はそのままでありがたい。 が、たまに使ったデータ上は値がないが、凡例上は値を入れたいということがある。例えば、{dabasets}パッケ…

Rで日付データを取り扱うときに使う`{base}`の`as.Date()`関数が使いにくいと思ったら`{lubridate}`の`as_date()`をつかうとよいかもしれないという個人的感想

Rで日付データを取り扱うときに使う{base}のas.Date()関数が使いにくいと思ったら{lubridate}1のas_date()をつかうとよいかもしれないという個人的感想、それだけの話し。ただ、少しだけ「入力した値から出力された値が意図したものになっているか確認って大…

Rの `{stats}`の`lag()`の挙動に関する問題(別に問題でもなんでもない)

ill-identifide氏がRの挙動についてブログにてRの挙動にてもとめたい結果と出力された結果が間違っていることに気づきにくい場合 久々に R の ... に騙されたので結果が正しいかどうか確認しないとダメなアンチパターン集を書く - ill-identified diary につ…

Rで特定の記号に挟まれている文字列を記号ごと取り除きたいときの文字列処理のメモ

テキスト中の特定の記号(始点と終点で異なる)で挟まれているものを記号ごと取り除きたいということがあった(《消したい文字》の箇所を消したいと思った)。Rでやりたかった。 具体的に言うと青空文庫のテキストデータのルビの箇所や章の見出しの箇所の注…

`ftable`を二次元の`table`にしたい、そして名前も残したい

R

Rで多次元配列のtableをftable()で二次元配列っぽく表現したものをftableから二次元のtableに変換したいと思った。ちょっと調べてみても見つけられなかったので、この方法が妥当かわからなかいがメモしておく。 例として組み込みデータのHairEyeColorを使っ…

Rの`{readxl}`をつかって`.xlsx`ファイルを読み込んだときに、意図せず数値が`POSIXct`で読み込まれたことがあったのでメモ

Rの{readxl}をつかって.xlsxファイルを読み込んだときに、意図せず数値がPOSIXctで読み込まれたことがあったのでメモしておく。 たとえばエクセルの次のようなデータ(東京ディズニーリゾートの年次入園者数とパスポート料金のデータ(DisneyData01.xmls))…

R 4.1.0ではソースコードの中にdataディレクトリがないパッケージはDESCRIPTIONのLazyDataが除かれてインストールされるよというメモ

R

R 4.1.0で自家パッケージ(次に示すのは{jaddress.jiscode}のインストール時のメッセージの一部)をソース(Github)からインストールしているときに見慣れないメッセージを見かけたのでメモしておく。 # 前略 - preparing 'jaddress.jiscode': √ checking D…

R 4.1.0で導入された`function`関数の短縮形としての`\`についてちょっと見てみた

R

R 4.1.0でfunction関数の短縮形として\関数(関数?functionのhelpドキュメントにはThese functions と書かれている)が導入されたのでちょっと見てみた。 自分なりに調べた範囲のメモ。 とりあえず、次のような与えられた値に1を加えるfと同じ挙動をするf2…

R 4.1.0のWindows版で`{RMecab}`のインストールがちょっとコケたので簡単に解決策をメモしておく

R 4.1.0が公開されたので早速Windowsにインストールして使うパッケージをインストールしていたら、この記事を書いている現在時点でRMecabのインストールでちょっとコケたのでメモしておく。 RMecabの詳細はこちら。 RMeCab - アールメカブ 上記サイトにwindo…

演算子の順番の理解大事という今更な話し

Rの演算子の順序の理解のため恥を晒した(:と四則演算子の順序の理解不足でわけのわからないことを言ってしまった)ついでに次の転ぶ前にドキュメント(An Introduction to R)を読み直したらちゃんと書いてあった。そう、Introductionに書いてあるくらい基…

Rで住所から全国地方公共団体コードを出力する方法のメモ(というかパッケージを簡単に作った)

Rで住所を処理しているときに全国地方公共団体コード(都道府県コード、市区町村コード、JISコード)(以下団体コード)を求める必要があった。 総務省のホームページから団体コードのEXCELファイルをダウンロードしてきて、住所の都道府県と市区町村名と比…

Rのsapply()のUSE.NAMESのメモ

R

初歩的なことかもしれないが忘れるのでメモ。 Rのsapply()やmapply()の引数についてUSE.NAMESドキュメントちゃんと読めばわかるんだけど、引数の名前と関数の処理から邪推していつも勘違いする。ちゃんと理解したつもりでも時間が経つと、また「あれ、あれっ…

Rでdata frameを標準化するメモ(関数作った&パッケージ化した)

Rで値を標準化するときに{base}のscale()(つまり普通のscale())を使うが、データフレームを標準化するときには注意が必要となる。 当たり前だが、標準化するという目的上{base}のscale()は数値型しか基本的には受け付けない1。 なのでデータフレームを標準…

Rの{gtsummary}パッケージで作った表をWordやPowerPointのファイルに出力する方法のメモ

Rで表を作る{gtsummary}パッケージをつかっていい感じにきれいめな表を作ったら、「表をPowerPointでくれ」「表をWordでくれ」「表をExcelでくれ」といわたら…… こんな感じのキレイめな表が{gtsummary}では比較的簡単に描ける。 でOffice系のファイル形式で…

Rの{tableone}の表のOverallを任意の文字列に変える

Rで、論文とかによくある表1相当を簡単につくるパッケージの{tableone}で作成される、Overallを任意の文字列に変える方法のメモ。 とりあえず簡単に自作関数化したのでおいておく。 tableone.overall.rename <- function(x, rename.str){ if(class(x) != "Ta…

Rでデータフレームの下に同じデータの一つの列をALLとかにかえたデータをくっつけたデータを作る関数のメモ

Rでデータフレームの特定の列の値をすべてALLにしてデータフレームと、もとのデータフレームと上下でくっつける処理をたまにするので、ちょいちょい綴りミスったりするので関数化してここにメモしておく。ごくたまに使う。 add_all <- function(data, key, a…

Rのggplot2で日本地図と日本の一部地域の地図を描く

2021/08/22追記 以前書いた、{jpndistrict}のjpn_pref()の方法では日本地図を書くためのデータを作ろうとしたときにErrorが出るようになってしまってうまく行かなかった。R 4.1.1で久しぶりに日本地図を書こうと思ったらうまく行かなかったのでおそらくR 4.1…

Rtools40のpacmanを使ってライブラリをインストールする機会があったのでメモしておく

RでWindows環境でバイナリビルドされていないソースからのRのパッケージをインストールするときに使うRtools。Windows環境以外にとっては無関係の話し。 Rtools 4.0になって導入された(多分)、pacmanを使う機会があったのでメモしておく。 あとどうでもい…

完全なるメモ:R 4.1.xで`\()`(バックスラッシュ)が`function()`と同じように使えるようになる(かもしれない)など

完全なるメモ。 R 4.1.xで\()(バックスラッシュ)がfunction()と同じように使えるようになる(かもしれない) Rで関数を定義するfunction()関数について、現在開発中のR 4.1.xから\()でも書けるようになる(かもしれない)とのこと。 R now provides a shor…

Rで重回帰分析を行ったときにSPSSの共線性の診断と同じ(だと思う)結果を得る方法のメモ(多重共線性の確認)

重回帰分析を行ったときに多重共線性がありそうかどうかを確認するときにVIFに加え、条件指数(Condition Index)と分散の比率(Variance Propotions)を参照して多重共線性を確認する手法がある。 SPSSだと重回帰分析をするときにオプションから共線性の診断(Co…

Rでデータフレーム上で同じ値の列を探し出す方法のメモ

R

qiita.com Qittaのこの記事を読んで、重複する列を削除したいと思うことってあるかなぁ、と思ったけどよく考えれば重複する列を削除したいという場合もありえそうだなぁと確かに思った。 上記のQittaの記事では同じ名前の列があるかどうか、ということに着目…

Rでベクトルにas.numeric()で数値にできない文字列が含まれているかチェックする方法のメモ

追記(2021/11/04) データフレーム中のas.numeric()で数値にできない文字列が含まれているかチェックする方法について。 下に書いているコードはベクトルで取り出した場合はうまくいくのだけれどデータフレームの場合にはうまく行かないので、対応し修正版…

R 4.0.4 の日本語周り(漢字表記)のバグのメモと暫定的回避策(R 4.0.5で解決済み)

R

R version 4.0.4 (2021-02-15) – “Lost Library Book”がリリースされたが、日本語周りの漢字表記にバグがあるのでメモ。 漢字を使用する環境(Windows版ローカル環境実行) x <- "令和3年2月15日" x ## [1] "\u4ee4\u548c3\u5e742\u670815\u65e5" 追記:どう…

Rでランダムな年月日を作る&年月日から年齢を作る

Rでランダムな年月日を作る方法はダミーデータを作るときにたまに使うがいつも忘れるし、作った関数をどこに保存したのか忘れてしまうので自分用のメモ。 あわせて、年月日から年齢を計算する関数もメモしておく。 ランダムな年月日を作る startで指定した年…

CRANにパッケージを登録したのでその思い出をメモしておく

Rでアラビア数字を漢数字に変換する{arabic2kansuji}をCRANにパッケージを登録し、その後バグフィックスして更新したのでそこでやったこと(思い出)をまとめておこうと思う。 こんな時系列でやったというだけで、こうやるのがベスト・プラクティスというも…