cucumber flesh

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

tips

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

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

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等に公開されていな…

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

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

最近お気に入りの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…

データフレームの変数を正しく扱うためにreadr::type_convert関数やreadr::parse関数群を使う

Rをやっていると時々、データ型の違いによる関数実行の失敗や不正確な結果の出力が起こる。errorで処理が停止したりwarningで間違っていることがわかると良いのだけど、間違ったデータ型で処理が通ってしまって、結果を見て「あれへんだな」ということがある…

Kaggleでも利用されている高圧縮ファイル形式7zをRで解凍する

たまたまKaggleのDatasetsをのぞいていたのだが、そこで.7zという見慣れない形式のファイルが提供されていた。容量はテスト用のファイルで1GBを超えている。大きい…。ダウンロードするにも時間がかかるのだけど、それよりも問題だったのは、この.7z圧縮ファ…

すっからかん(欠損値しかない)の列を削除して完全データにしたい

【20170518 追記】 あーだこーだしているが、ゆた兄さんに教えてもらった方法を使った方が楽チン。 @u_ribo ちがった、_at()じゃなくて_if()でよかったのでした! 存在を忘れてた。df.list %>% select_if(function(x) VIM::countNA(x) < 1)— Hiroaki Yutani …

【小ネタ】リストにNULLがある場合のpurrr::map系関数の挙動

タイトルが適切かわからないが、小ネタ。次のようなリストオブジェクトがあるとする。リストに含まれる要素はname, age, genderの値をもっているが、2番目の要素はgenderがない、というようなもの。 library(purrr) x <- list(list(name = "A", age = 23L, g…

leafletで描画した地図を画像ファイルとして保存する

お手軽に地図データを表示するために{leaflet}を頻繁に利用しているが、出力した地図を画像に保存するにはOSのスクリーンショット機能やアプリケーションを使う必要があって面倒だった。 調べてみると{mapview}パッケージに{leaflet}のレンダリング結果を保…

ODBCで取得したデータの文字化けを解決する

ODBCは良い。古事記には書かれていないかもしれないが、ホクソエムがそう言っている(意訳)。 qiita.com odbc が CRAN に!https://t.co/hJHhJbeh4Q— 門限のあるフレンズ (@hoxo_m) 2017年2月6日 最近になってR用のODBIインターフェイスである{odbc}パッケ…

RMarkdownファイルの中でSQLを実行する際のtips ~knitr language engine

公式ページに書いている内容なのだけど、覚え書き。 RMarkdownファイルでSQLを実行させるという状況があったとき、{DBI}や{odbc} といった各種のデータベース接続用パッケージや{dplyr}の接続関数を利用してデータを呼び出しても良いけど、実はチャンクコー…

🍭knitrでSQLの実行結果を出力する際はengine.optsを指定する

Rによるレポート作成で用いられる{knitr}パッケージでは、RだけでなくbashやPython、SASと言った多様な言語の実行を可能にしている。RMarkdownのチャンクとして呼び出すわけだけど、MySQLをエンジンにした場合にちょっと躓いた(これをやる機会はなかなかな…

🍭 インタラクティブな認証が必要な関数の処理を魔改造してR Markdownでも実行可能にする

ウェブAPIのラッパーパッケージを利用する際に{httr}パッケージは認証に必要な関数を備えており、これらのラッパーパッケージにおいては主な手法として利用されている。その理由として、{httr}パッケージが認証処理を実行する関数を備えていることがあげられ…

🔧Rパッケージ開発時に利用するデータの種類とその使い分け

昨日、Rコミュニティの質問広場兼お気楽な交流の場であるr-wakalangでこんな質問が寄せられた。 (意訳) パッケージの開発時にオブジェクトを保存しておいて、そのオブジェクトをパッケージ内の関数で利用したい パッと思いつく回答として、data/ディレクトリ…

⚙API暮らし時代におけるRでの環境変数の管理

先週はセキュリティ関係の記事をよく見かけた...気がした。これとか。 qiita.com RでもウェブAPIを利用するパッケージが増えてきて( {RGA}, {slackr}, {twitteR}, {qiitar}などなど)、誰もがAPI暮らしを夢見ている。 そんなわけでAPI生活の質を高めるため…

🍭.Last.valueの話: 保存して欲しければまずは結果を見せな

Rでパイプ処理をしていると、「あ、今の結果をオブジェクトに保存しとけば良かった...。もう一回実行するのメンドクセ」、ということがしばしばある。 そんな時は直前の処理をやり直す必要はなくて、.Last.valueを使って対処することもできる。???。以下…

📦Rのヘルプドキュメントに画像を表示して夢を広げる

去年にこんな記事を見つけて、オオコレハカッキテキダ、みたいな印象を持ったきりでそのまま放置していたのでチラシの裏としてメモ。 blog.revolutionanalytics.com パッケージのヘルプドキュメントに画像を表示させる方法、以前からできたらしいが(R バー…

💮【簡易版】RからGoogle Books APIを叩いてブクログに書籍登録する

読んだり買ったりした本の記録をEvernoteにとっているのだけど、きちんとしたサービスを使うか、という気になってブクログを選んだ。しばらく使ってみて思ったのだが、キーワードから本を探して「本棚」に登録するという過程をとるのが面倒。ちまちま入力し…

💮PopClip.appからRStudioでRコードを実行する拡張を書いた

前置き PopClipというMac専用の便利なアプリケーションがある。ざっくりどんなものか述べると、選択したテキストを何らかのアクションとして実行するアプリ。わからない英単語を辞書アプリで調べるときとか論文をGoogle Scholarで検索するときによく使って…

⭐️RStudioと一緒に学ぶStan

先日開催された「基礎からのベイズ統計学入門」輪読会に参加し、そこでLTをしてきました。スライドが未完成な状態で乗り込んでしまった反省がありますが、スライドの内容について、補足を含めてこの場で紹介したいと思います。 Stanコードを書くならRStudio…

🍭データフレームからランダムにデータを抽出したい

北のマエショリストこと(面識もない私が勝手に呼んでいる) id:WAFkw さんがこんな記事を書いていた。 wafdata.hatenablog.com 手持ちのテーブルから、無作為(ランダム)にサンプルを抽出する(リサンプリング)、という記事。そしてそのレスポンスとして…

🍭RStudioのsnippetを編集する際はタブでインデントしような

こんな話がある(手前味噌)。 qiita.com こんな記事を書いておきながら、定義した俺々スニペットが機能しなくてちょっと困っていた。 スニペットはこのように書く。 snippet lib library(${1:package}) ここで注意なのは、出力するスニペットを定義するとき…