cucumber flesh

Rを中心としたデータ分析・統計解析らへんの話題をしていくだけ

標準的な公共交通機関の情報形式 GTFS をRで処理する: gtfsrouter編

この記事はRアドベントカレンダー2019の5日目の投稿です。昨日は id:ando_Roid さんの投稿でした。 はじめに 今回で4回目となる「東京公共交通オープンデータチャレンジ」の応募が始まりました。これは公共交通オープンデータやその他のオープンデータを活用…

住所や年号、漢数字のデータ操作を楽にするRパッケージをCRANに登録しました

R

副題「失われた『Nippon』を求めて」(仰々しい)。 Kajikazawa in Kai Province (Koshu Kajikazawa), from the series “Thirty-six Views of Mount Fuji (Fugaku sanjurokkei)”, 1825–1838 by Katsushika Hokusai. Image via Art Institute of Chicago Nipp…

Fukuoka.R#15でtidymodelsについての発表を行いました

先週末(2019年8月31日)に開催されたFukuoka.R#15 へ参加・発表してきました。Fukuoka.Rはその名の通り、九州・博多を中心として活動するRコミュニティです。私は茨城県つくば市に住んでいるので、会場のLINE Fukuokaまでは直線距離でおよそ928km離れた場所…

ggplot2::geom_sf()での緯度経度のラベルを調整する

要約 ggplot2::geom_sf()のデフォルトで表示される緯度経度の軸は桁数が揃っていないことがある scales::degree_format()で桁数の調整が可能 最新のバージョン(1.0.0)では実装されておらず、開発版をインストールして利用する scalesを使わない方法も紹介 は…

ggplot2でのfacetした図のstripを下部に配置する方法と注意点

ggplot2のfacet_wrap()やfacet_grid()で、ある変数の水準ごとにパネルを分割した描画を行うと、分割の基準となっている変数名がパネルの上部に表示されます。これにはstripという名前がついています。“strip”の辞書を引くと「(金属の)薄板」の意味だそうです…

否定条件: stringr 1.4.0で追加された引数negageとpurrrを使った文字列以外のさまざまなデータへの適用例

要約 条件に一致しない要素に対してTRUEを返す否定条件をさまざまなデータ型に適用する例を紹介します 文字列データに対しては stringrパッケージ(バージョン1.4.0以降)またはstringiのnegate引数を利用する purrrパッケージのnegate()、compose()を用いるこ…

DockerイメージでGitHub上のRパッケージのインストールを行う際の注意: GitHub Personal Access Tokenの設定

前回の記事では、CRANやそれ以外のGitリポジトリからRパッケージのインストールを行うremotesパッケージの特徴と、GitHubで管理されたパッケージのインストールを行う際のAPIに関する注意を書きました。 uribo.hatenablog.com 今回はさらにニッチな内容だと…

RパッケージをGitHubからインストールする場合はPersonal Access Tokenを取得・設定しておきましょう

RのパッケージはCRANやBioconductorといったリポジトリに加えて、GitHubやGitLab、Bitbucketといった分散型Gitリポジトリサービス(リモートリポジトリ)からインストールすることが可能です。リモートリポジトリには開発版のものや、CRAN等に公開されていな…

Rで国土地理院 基盤地図情報データを扱う

この記事は、FOSS4Gアドベントカレンダー2018の16日目の記事です。タイトルにある通り、Rから国土地理院 基盤地図情報ダウンロードサービスでダウンロードしたファイルを扱う方法について書きます。 基盤地図情報が提供するデータはXMLファイルとなっており…

国土地理院の数値標高モデルデータをラスタとしてRで扱う

国土地理院が提供している「基盤地図情報ダウンロードサービス」の中に「数値標高モデル」データがあります。このデータは、標高のメッシュデータです。標高点格子(メッシュサイズ)が5m、10mのものがそれぞれあります。利用登録をすればデータをダウンロー…

名前空間の衝突をconflictedパッケージで防ぐ

R

要約 パッケージを複数利用すると関数名等の衝突が発生し、意図しない振る舞いを取ることがある conflictedパッケージは、こうした衝突を防ぐための機能を提供する 多少の手間を惜しんでも、衝突の恐れのある関数については名前空間を指定することを勧める

ggplot2ベースの図から凡例 (legend) のみ得る方法あれこれ

タイトルに書いたように「凡例だけが描画したい」ことが時々あるかと思います(止むを得ずに凡例の位置が図から分断されてしまうときとか)。そんな時には、ここで紹介する方法を使うと良いです。やり方はいくつかあります。ここではgtableパッケージを使う…

市区町村ポリゴンの中から区だけを結合する

前回の記事で、市区町村に分割されているポリゴンを都道府県単位に結合する処理を紹介しました。 uribo.hatenablog.com 今日はその続編として、今度は区ごとにポリゴンが分かれている「政令指定都市」を一つの市として扱えるようにしてみようと思います。こ…

【備忘録】RユーザのためのDocker環境「Rocker」でパスワードの設定が必要になった

要約 rockerプロジェクトの各種Dockerfileの変更があり、RStudio Serverへはデフォルトのパスワードでのログインができなくなった docker-compose.ymlでは環境変数の設定が可能で、外部ファイル.envにパスワードを記述した

st_union()で埋まらないポリゴンの穴を埋める

sf

追記 (180814) id:yutannihilation さんから、Twitter経由でrmapshaperパッケージのms_dissolve関数を使う方法を教えてもらいました。この方法も簡単です。どうもありがとうございます! rmapshaper::ms_dispolve()とかどうでしょう? あと、list.files()す…

geofacetで日本のデータが利用可能になりました

もう数ヶ月も前の話ですが、CRANに登録されているgeofacetパッケージが更新されて、バージョンが0.1.9となりました。geofacetパッケージは、ggplot2ベースの作図パッケージの一種ですが、グラフを地理的な空間関係と対応付けて描画するという特徴があります…

ggplot2のsizeが意味するもの

付け焼き刃な知識故に、間違いございましたら指摘頂けますと幸いです。 ggplot2を使っていると、数種類の“size”を設定するタイミングがある。例えば、geom_point()で散布図を描画する際のポイントの大きさを指定するためのsize、または連続した線を描画する…

地物範囲のタイル座標を得る

id:yutannihilationさんが、ggplot2::geom_sf()にOpen Street Map (OSM)のタイルを重ねるという面白い試みをしています。 yutani.rbind.io OSMでは、画像データとして地図画像を配信していて、次のようなURLで参照されます。 http://[abc].tile.openstreetma…

sfオブジェクトを描画する方法まとめ: ggplot2::geom_sf()もあるよ

Rの作図パッケージとして人気なggplot2の時期バージョンの2.3.0が間も無くリリースされるそうです。ggplot2は前回の更新が2016年12月末のバージョン2.2.1なので、久しぶりのバージョンアップとなります。 バージョンアップに伴う変更点はこのページを見て欲…

何気ない関数・演算子の導入がプロジェクトを傷つけた

ちょっと前の話。私が手を加えたコードが動かないという相談を受けた。早速手元で試してみたが自分の環境では再現できている。確認のために再実行してもらうと確かに結果が違うようだ。なぜだろう。結論を書いてしまうと、問題は %<>% 演算子にあった。 %<>%…

質問お待ちしております!できればreprex使ってね 😸

最近、チームで分析プロジェクトを進行していることもあり、人のコードをみてコメントしたり、自分もみてもらう、というやりとりが増えてきました。メンバーの中で私は、どちらかといえば「R言語チョットデキル」人間で、時々発生するトラブルや質問について…

最近お気に入りのRStudio(ver.1.1.423)の機能: ファイル内検索とTODOハイライト

先日、RStudioのバージョン1.1.423がリリースされました。 RStudioの通常版がいつの間にかv1.1.423にマイナーアプデしてたhttps://t.co/AeyDCsOp5l— kazutan v3.4.3 (@kazutan) 2018年2月13日 v1.1からの更新内容については先日開催されたrstudio::conf 2018…

RStanのおさらいをしながら読む 岩波DS1 (ややアップデートした2018年版)

最近、以前書いた岩波DSの久保さんパートのおさらい記事を久保さん本人がRTしていたのを見て(ああ、あの頃はまだ大学院生をやっていたのだと懐かしくなったと同時に)、移り変わりのあるRコードは今も動くのか心配になった。結論を先に言うと、RPubsに書い…

hereパッケージの導入でファイル参照のパス問題の悩みを解消

去年から気になっていたものの、その利点や使い道について理解できていなかったhereパッケージ、ようやくにして少しわかった気がする。今は声を大にして言える。hereは良いぞ。hereをプロジェクトに導入することで、これまでにあったWindows - macOS間でのパ…

Rから離れたくない人向けのDocker環境の操作: RStudio Serverを分析・開発の基盤にするために

この記事はRStudioアドベントカレンダーの21日目の記事です。もうすぐこのアドベントカレンダーも終わりですね。ハヤイ! 今年のはじめにこんな記事を書きました。 uribo.hatenablog.com 皆さんはDockerを利用していますでしょうか。今年のデータ分析系のア…

2017年度版 RStudioを使ったReproducible Research、補足ポエム

この記事はRStudioアドベントカレンダーの10日目の投稿の補足です。私ももう、ゴールしても良いよね、という気になってきました(注)。本体は以前書いた記事で申し訳ないのですが、 qiita.com になります。古くなったので刷新し、追記をしました。 RによるRep…

中級者向けggplot2でこんな図が描きたい - 地図編

どーも。ggplot2は空手の一種として知られているので(要出典)普段の稽古が欠かせまん。今年を振り返り、ggplot2での作図について、いくつかの知見を共有します(書いている余裕がなかったんや...) library(magrittr) library(jpndistrict) ## Loading req…

本日発表!ほくぽえむ大賞2017 俳句の部

ホクソエムといえばポエムです(要出典)。今日はTwitterでのホクソエム氏の投稿から、俳句を探してこようと思います。そして、今年のベスト俳句を独断と偏見により決めます。戦略としては、Twitterから投稿を取得、日本語形態素解析システム JUMAN++により…

ある日tidyと一緒に: tidyverseは厳しいがとても優しい

この記事はtidyポエムAdvent Calendarの4日目の記事となります。タイトルは釣りです。釣られた人は乙でした。 本当のタイトルは「tidyverseは厳しいがとても優しい」です。某ホクソエム氏のようです(個人の意見です)。 uribo.hatenablog.com tidyverseな世…

私とホクソエム

この記事は「HOXO-M Advent Calendar 2017」の2日めです。昨日は id:yutannihilationさんの「出ない順ホクソエム語彙集(その1)」でした。ホクソエムってなんなんでしょうね笑 さて、2日目は私が担当します。それでは聞いてください「私とホクソエム」。 現…