読者です 読者をやめる 読者になる 読者になる

メモ:formulaはそのエンクロージング環境を捕捉している

R

とかかれているのをふと見かけてなるほどなあと思ったのでメモ。 # formulas automatically capture their enclosing environment foo <- function(x) { y <- 10 ~ x + y } (https://github.com/hadley/rlang/blob/84a63a1a660cebff373b9db02ac37e04c934dbde…

はてなAPI用のOAuthトークンを取得するRパッケージをつくりました

R API

こないだ書いたこれを、 いちおうパッケージにまとめました。 が、結局、たまに401が出る理由は謎のままです。debug()で401が出たのと同じnonceとtimestampでリクエストを送ってみましたが、成功したりします。誰か助けて…。 そういう謎を残したままなので、…

メモ:OAuth 1.0のRFCをチラ見する

API R

悔しいので前回のリベンジ的な。 notchained.hatenablog.com

はてなAPIをRから使う

API R

はてなAPIをRから使ったときのメモです。認証には種類がいくつかありますが、OAuthによる認証を使います。公式ドキュメントはこのへん。 はてな OAuth - Hatena Developer Center

GyazoのAPIをRから使ってみる

API R

ドキュメントを見ながらGyazoのAPIをRから使ってみます。 https://gyazo.com/api/docs

メモ:imguRでOAuthトークンを使う方法

R

imguRパッケージは便利なんだけど、デフォルトのAPIキーで使えてしまうので自分のアカウントにアップロードしたつもりがそうなってなかった、というメモ。 imgur.com

メモ:RでMarkdownファイルから画像のパスだけ抜き出すにはcommonmarkとxml2?

いちどcommonmarkでHTMLに変換したのをxml2で読む、というのがまだるっこしく感じるんですけど、Markdownをパースしてリストにしてくれるパッケージとかないものなんでしょうか? md <- " test ==== plot1 ----- ![this is plot1](./path/to/plot1) plot2 --…

RMarkdownをknitしたときに画像をgistにアップロードする

knitrには実は、upload.funというオプションがあって、knitしたときに画像ファイルを自動でどこかにアップロードすることができます。 Upload images - Yihui Xie | 谢益辉 というのを今日知ったので、試しにgistにアップロードする関数を作ってみます。

メモ:RのパッケージのドキュメントをMarkdownで書くときには「Roxygen: list(markdown = TRUE)」を忘れずに

R

なんか風の噂で、roxygen2でドキュメントを書くときにMarkdownが使えるようになったと聞いたんですが、試してみてもなんかならなくて、あれ?なんで?と思ってしばらく悩んでたらDESCRIPTIONにこの1行が必要だった。 Roxygen: list(markdown = TRUE) ちゃん…

GitHubでroxygen2の自動生成ドキュメントはdiffに表示されなくなりました

R

ちょっと前にこんな記事がありました。 qiita.com Rで自動生成コードといえばあれです。roxygen2。 これって同じノリで無視できるのかな?と思って上の記事にあったレポジトリを見ると対応してなさげだったので、Rubyまったく分からないけどこんな感じかな?…

メモ:lmの信頼区間をbroom::augumentで出す

アヒル本の図4.3をpredict()を使わずに描くにはどうするのか気になって調べたときのメモ。ちなみにアヒル本が使っているコードはサポートページにあります。 github.com

twitteRパッケージがdeprecated(廃止予定)になっていたのでいちおう注意しましょう。

RからTwitterのAPIを利用するときの定番なのがtwitteRパッケージです。 こないだふとソースコードを見ようと思って元レポジトリに行くと、READMEにこんなことが書かれていました。 DEPRECATION This is the start of a relatively leisurely deprecation per…

RでGISをやるときにはsfパッケージ、という世の中になるらしい。

R GIS sf

RでGISといえばspパッケージです。でした。いま、時代が動こうとしています。 ...という記事を書けるほどのGISの知識が私にはないので、ほんとはもっと勉強してから書くべきなんですけど、とりあえず勉強のためにも調べたことをまとめとこう、と思って書きま…

メモ:RでJSONファイルを読み書きするときはjsonlite::read_json(), jsonlite::write_json()

jsonlite 1.2で、read_json()とwrite_json()という関数が追加されました。 Update jsonlite 1.2 ディスクから直接読み書きするから速い、らしい。そんなパフォーマンスを気にするほどでかいJSONファイルを扱ったことないけどいちおうメモ。

RStudioアドインで突然の死AAにキーボードショートカットを割り当てる

※この投稿はRStudio Advent Calendar 2016の20日目の記事です。 あれはちょうど去年の今頃でした。RStudioにアドインという機能拡張の仕組みができ、Preview版のRStudioに搭載されました。 公式サイト:http://rstudio.github.io/rstudioaddins/

今すぐ知るべき! RStudioのオススメTips 5種

※この投稿はRStudio Advent Calender 2016の12日目の記事です。 RStudioのTipsを紹介します。といっても私はTipsの紹介はしません。Tipsの紹介を紹介するだけです。

Bash on WindowsにRStudio Serverをインストールする。

r-wakalangでそういう話が上がってたのでちょっと試してみたときのメモです。

俺たちのtidyverseはこれからだ!

※この投稿はR Advent Calendar 2016の6日目の記事です。 11/27のJapan.R 2016でLTしたtidyverseについて書きます。スライドは以下です。 Tidyverseとは from yutannihilation (ちなみに、この投稿のタイトルは@siero5335さんのツイートがエモくてすてきだっ…

RでRStudio Serverのログイン画面を突破する

ちょっとやろうと思っていることがあったので試してみたときのメモです。

私と驥悟く蜈オ

※この投稿は「私と里傭兵」大喜利Advent Calendar 2016 4日目の記事です*1。 里傭兵は文字だ。文字通り。 みたいな書き出しではじまる小説があったがその話はここではしない*2。しかし、文字とは何なのか。 「里傭兵」という文字と「里傭兵」という文字は同…

dplyrは言語です

awesomeな方がJapan.RでLTされていたので、アンサーソング的なブログを書いておきます。(嘘です。そんなにdplyr詳しくないです...)

ウェブAPIから返ってくるネストしまくったJSONをpurrrの力でdata.frameに変換する

某ウェブサービスのデータをAPI経由でRから取ってくるkntnrというパッケージをつくりました。 このパッケージを作るのは、実は2年間に3度くらい作りかけてはあきらめて、というのを繰り返してきました。というのも、JSONをdata.frameに変換するのが大変すぎ…

ifelse()は危険なのでやめてdplyr::if_else()を使いましょう

dplyrパッケージのif_else()、case_when()、recode()の紹介をuriboが書いてたので、そういえばこのことちゃんと書いてなかったなと思って書いておきます。

ggplot2でna.rmが効かなくなった話(2.2.0以降)

先日、ggplot2の2.2.0がリリースされました。この変更点については以下の記事にまとめました。 notchained.hatenablog.com で、一点、 これはちょっとわかりづらいので、別途解説を書こうと思います。。 と言ってた宿題があるのでそれをこの記事では書きます…

メモ:purrr::map(x, "要素名")よりはpurrr::transpose(x)$要素名

transpose()はやい。

メモ:switch()の代わりにS3 generic functionを使うのは微妙だったかも

R

去年こんな記事を書いたけど、 notchained.hatenablog.com でもメソッドディスパッチのコストってどれくらいなんだろう?と思ってやってみました。

Rから国土数値情報ダウンロードサービス Web APIを使うパッケージkokudosuuchiをCRANで公開しました

去年の年末につくった、Rから国土数値情報ダウンロードサービス Web APIを使うパッケージをCRANで公開しました。 CRAN:CRAN - Package kokudosuuchi 大したことをしているパッケージでもないんですが、使ってフィードバックをいただければ嬉しいです。(恥…

メモ:rgdalが必要なパッケージでTravis CIを使う

Ubuntuでrgdalパッケージを使うには、libgdal-devというパッケージが必要なんですが、Travis CIでこれをインストールしようとすると以下のようなエラーがでます。 https://travis-ci.org/yutannihilation/kokudosuuchi/jobs/172862797 The following package…

Powershellで一時的にPATHを変更する

Seleniumをちょっと試しに動かそうと思ったら、ブラウザのドライバにパスが通ってないとだめだった。ちょっと試しに動かしたいだけなのでPathをグローバルにいじりたくはない。 stackoverflow.com

ggplot2 2.2.0 を使ってみる

追記(2016/11/13): この記事は「ggplot2 2.1.0.9000を使ってみる」として公開していたものです。ggplot2 2.2.0は先日リリースされましたが、この記事を公開して以降レポジトリのNEWS.mdに変更がなかったのでそのままタイトルを変更しました。 公式のアナウン…

ggplot2 2.2.0で2軸グラフを描くときのメモ

ggplot2 2.2.0で2軸グラフが描きやすくなりました。 描きやすくなりました、という微妙な言い方をしましたが、軸が2つつくれるだけで値のスケールは自分でやらないといけません。その辺のメモ。

メモ:httr::stop_for_status()とhttr::http_error()の違い

http_error()はエラーだったらTRUEになるやつで、stop_for_status()は成功つまり2XX系じゃなかったらstop()するらしい。「エラーだったら」と「成功じゃなかったら」のニュアンスの違い… x <- GET("http://httpbin.org/status/300") http_error(x) #> [1] FA…

メモ:Rでtelnet的なことをしたいときはsocketConnection()にcat()する

R

telnet的なことをしたいときはsocketConnection()でコネクションをつくってそこにcat()とかwriteLines()とかすればいいらしい。以下はテキストでHTTPリクエストを投げる例。

「Rで楽しむ統計(Wonderful R 1)」(奥村 晴彦著・石田 基広監修)を読んだ。

ご厚意で「Rで楽しむ統計」を頂きました。ありがとうございます!!! 読んだ。と言い切りつつまだざっと目を通しただけなんですが、すばらしい書評があふれて書くことがなくならないうちに書こう、今ならまだ薄っぺらい読書感想文でも許されるのでは?とい…

library(tidyverse)でtidyverseに決断的ダイブ!

R

これめっちゃ便利なのでは… New tidyverse packages makes it easy to install & load packages from the tidyverse: https://t.co/toVme1jeEY. To CRAN next week #rstats— Hadley Wickham (@hadleywickham) 2016年9月6日

メモ:dplyrがバックエンドにSQLを投げるときの流れ

ちゃんと追ってないけど、print()するにせよcollect()するにせよ結局collect.tbl_sql()が呼ばれるっぽい。

メモ:httr::GET()にリクエストボディを指定したいときはhttr::VERB("GET", ...)で

たまーにGET()にリクエストボディを指定したいときがあります。 そもそもGETリクエストにリクエストボディを含めるのは、RFCでも奥歯にものが挟まったような書き方がされています。ダメならダメってはっきり言ってくれればいいのに。。 A payload within a G…

メモ:httrのVERB関数の引数に指定できるもの

たとえばGET()はこんな感じ。urlはいいとして、configと...が謎。 packageVersion("httr") #> [1] ‘1.2.1’ httr::GET #> function (url = NULL, config = list(), ..., handle = NULL) #> { #> hu <- handle_url(handle, url, ...) #> req <- request_build(…

同じ愚を繰り返さないために何度Rを繰り返せばいいのかをRによって知りたい

ちょっとした猫に関するパッケージを作りたくて、猫っぽいパッケージ名というとあれです、purrrがありますよね(猫が喉を鳴らす時の音?らしいです)。安易安直な私は、じゃあpurrrrにしようかな、と思うわけですが、待てよ、と。パッケージ名が似ていること…

RからDigitalOceanにサーバを立てる

というのをやるのにはちゃんとパッケージがあります。羽鳥とかキャプテンアメリカとかもauthorに入っているということで使わない理由はありません。 が、人間は理由に隷属する生き物ですが、敢えてそれに抗う愚かさも兼ね備えています。ということで(?)、…

メモ:listの要素にNULLを代入する

R

listの要素のNULLを代入するとどうなるか。Rおじさんならみんな知っているこの操作。 x <- list(a = 1, b = 2) x #> $a #> [1] 1 #> #> $b #> [1] 2 x$a <- NULL x #> $b #> [1] 2

メモ:purrr::map()は深い階層の要素でも一発で取り出せる

R4DSに書いてある話。 たとえばこういう要素があるとする。

メモ:Rのパッケージリリース前に自問自答する

羽鳥がツイ消ししてしまったけど、ちょっとした論争?があってzzz.rを眺めていて、こんな関数があるのに気づきました。元の論争とは関係ないんですけど。 release_questions <- function() { c( "Have you built the book?" ) } (https://github.com/hadley/…

Tokyo.RでrwinlibについてLTしてきました。

第56回東京R勉強会@東京(a.k.a. Tokyo.R)でLTしてきました。Rcpp祭りという風の噂を聞いて、私に話せるといえばこれくらいかなと思って発表しました。 匿名バイナリ配布集団rwinlib from yutannihilation

TwitterのAPIドキュメントをスクレイピングしてRのパッケージを自動生成する

R

というやり方でパッケージをつくってみました。まだエラーが残ってますが、たぶんある程度は動くはずです。 Rのコードを生成するRのコードはこちらです。 twihttr/generate_R_code.R at master · yutannihilation/twihttr · GitHub あんまり大したことはして…

R MarkdownでRのコードから画像URLを埋め込む

GithubのAPIからemoji一覧を取れることに気づいたので、一覧で出力したいと思ってやり方を探したときのメモ。

estatapiパッケージ0.3.0をリリースしました

夏ですね。夏休みの自由研究のネタに困っているみなさんのために、e-Stat APIをRから使うためのパッケージestatapiの新しいバージョンをリリースしました。 CRAN - Package estatapi すでにCRAN上にあるので、 install.packages("estatapi") すれば0.3.0がイ…

e-Stat APIバージョン2.1をRから使う

e-Stat APIがちょっとバージョンアップしていて、統計データ取得APIのデータ形式にCSVが追加されました。 前にRからe-Stat APIを使ったときはちょっとJSONをdata.frameに直すのが大変すぎて、 estatapiというパッケージをつくったんですが、 …ひょっとしても…

R使いのためのDocker「Rocker」をScalewayの物理サーバで動かす

フランスのベアメタルサーバホスティングサービスScalewayが前から気になってたので使ってみました。 Scalewayでは、月€2.99を払ってdeveloper accountにアップグレードするとDockerファイルをビルドしてつくった自作イメージを使うことができます。 www.sca…

dplyrのmutate_if()とかについて

1か月前にキターとつぶやいたものがついにCRANにきたのでそれについて書きます。 Colwise update https://t.co/AotXyUjYmv キター!— Hiroaki Yutani (@yutannihilation) 2016年5月31日