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

dplyr再入門

というタイトルで、第60回R勉強会@東京で発表してきました。 スライドをつくってたら長くなりすぎたのでいくつかに分割しています。 「基本編」は、mutateやselectなどの基本的な関数と、グループ化についてまとめています。内容はIntroduction to dplyr(原…

dplyrのmutate_each()/summarise_each()とSE版の関数(select_()、mutate_()...)はdeprecatedになります

という話をTokyo.Rでしたらなんか意外と衝撃を受けている人が多かったので個別に記事に書いておきます。あわせて、移行方法について紹介したCompatibilityというvignetteがあるので、それの該当箇所をポイントします。 0.6.0の変更点全体については以下の記…

メモ:dplyr::select()でインド人を左にはできるけど右にはできない?

どうでもいい話。

dplyr 0.6.0はJOIN系のクエリもけっこういい感じ

去年のJapan.Rで、 Join処理のSQLは、結構雑 (dplyr様って もはや言語ではないのか? - Redshiftの場合 - // Speaker Deck) という文を見て、たしかにあれ何とかならないのかなーと思ってたんですが、どうやら0.6.0ではけっこうよくなってそうな雰囲気です。

dplyr 0.6.0-rcを使ってみる

dplyr 0.6.0が5/11ごろにリリースされる予定らしいです。 dplyr 0.6.0 is scheduled for release in 4 weeks: https://t.co/zlLoZy5pLv. Lots of stuff inside. Please try it out and report ! #rstats— Hadley Wickham (@hadleywickham) 2017年4月13日 か…

httr2というパッケージができるという噂

「いいニュースと悪いニュースがある。どっちから聞きたい?」 というのは人生で一度は言ってみたいセリフのひとつですが、ついに使うときが来ました。

メモ:WindowsでGITのファイルの権限を変えたいときはgit update-index --chmod=...

git update-index --chmod=+x <file> むずい…。PowerShell的にはSet-ACLとかでやるのが正しいらしいけど、よくわからないので断念。</file>

メモ:Rでは2+2=5か

R

ちょっと前に、Rの言語定義にこういうイカしたことが書かれているのに気づいてしまった。 Any expression is allowed also on the target side of an assignment, as far as the parser is concerned (2 + 2 <- 5 is a valid expression as far as the parse…

メモ:2017 1QのR Consortiumのグラントに当たったRプロジェクトの顔ぶれ

R

これです:Q1 2017 ISC Grants | R Consortium

メモ:時系列とか連番のデータを補完するときはtidyrのcomplete()とfull_seq()が便利そう

追記:これは「補間」とは言わないかも…。期待外れだったらすみません。 前にこんな記事を書きました。 で、これはたまたま毎分データがあったからよかったんですが、もっととびとびのデータの時どうするんだろう?と思ってたらtidyrパッケージのcomplete()…

R Foundationに年3000円を寄付することにしました。

R

ちょっと前に羽鳥がこんなことをつぶやいてました。 I'm happy to announce that it's now easy to join or donate to the R foundation online: https://t.co/l5vDC9utwT #rstats— Hadley Wickham (@hadleywickham) 2017年3月21日 R Foundationというのは、…

OAuthを裏口認証によってすりぬけるRパッケージ、OAusushiRをつくりました

R

OAuth認証は「Rによるスクレイピング入門」でも扱いましたが、どうやら私の力不足であまり分かりやすい文章になっていなかったようです。すみません。 「Rによるスクレイピング入門」、OAuth認証のところがよくわからん— {teramonagi} (@teramonagi) 2017年3…

メモ:Rのプリミティブ関数のprototype

たまたまissueにこんなのを見かけたのでメモ github.com

メモ:Rで証明書の情報を扱うときはopensslパッケージ

この影響を調べようと思ってopensslコマンドでちまちまやってたわけですが、 Rでも扱えないかな?と思ったらopensslパッケージがあったのでその使い方のメモ。 github.com

Symantecが再びGoogleの信頼を失った件についてのメモ

PKI

(初めに言い訳しておくと、証明書界隈については詳しくないです。某誤訳量産サイトが適当な記事を書いていたので、なにか書かねばと思って書いているという程度のまとめ記事です。間違いなどあればご指摘ください)

ぎっしりと文字書くなら、いっそのことスターウォーズのオープニングっぽくしてほしい。

@yutannihilation ぎっしりと文字書くなら、いっそのことスターウォーズのオープニングっぽくして欲しいですね…— かんこれ (@wonder_zone) 2017年3月25日 これをR Markdownでやりたい。ということで、Star Warsのイントロっぽい感じを実現するCSSStarWarsInt…

メモ:dplyrがStandard evaluationをdeprecatedにしようとしている理由

R

追記(2017/3/25): 「NSE/SEの組み合わせではなく、tidyevalで統一的に扱おうとしている」、という感じ? 正しい文章が思い浮かばない。— Hiroaki Yutani (@yutannihilation) 2017年3月24日 追記(2017/4/7): やはり「NSEをdeprecatedに」というのは間違…

メモ:RcppでCharacterMatrixをUTF-8に変換する

なんとなくわかった気がする(気のせい)。Dirkの例はだいたいstd::transform()を使っているのでこれを真似する。

メモ:R Markdownで、コードと結果を分けて表示したいときはresults='hide'/fig.show='hide'とref.label='...'

こんな感じらしい。 stackoverflow.com

ウェブAPIのためのRパッケージ作成の勘所

R API

というタイトルで、第59回R勉強会@東京で発表してきました。APIパッケージ作成の勘所、というテーマのはずが、延々と世のAPIのAPIへの愚痴を並べるだけのニッチなスライドになってしまいました。すみません。。 speakerdeck.com RからウェブAPIのパッケージ…

メモ:D3.jsで折れ線グラフを描く

まだd3-annotationをうまく使えてないんですが、D3.jsについてのメモ。 このグラフです(繰り返しますが、d3-annotationがうまく使えてないのでアノテーションが黒くつぶれています…)。

reprexパッケージの使い方、あるいは羽鳥に怒られる前に知るべき4つのこと

R

最近、dplyrパッケージのレポジトリにissueを立てようとすると、「reprexよろしく!」と言われます。言われますというか怒られます。怒られる前に、issue templateに書かれていることに目を通しましょう。 これはdplyrにissueを立てようとしたときのスクショ…

jqでJSONをunnestする

こんな感じのJSONを、 [ {"name": "a", "value": [1, 2]}, {"name": "b", "value": [3, 5]} ] こうしたい。 [ {"name": "a", "value": 1}, {"name": "a", "value": 2}, {"name": "b", "value": 3}, {"name": "b", "value": 5} ]

MillerでCSVファイルを分割

こうすればできることはわかったけど… $ echo -e 'name,value\na,1\na,2\nb,3\nc,10\nb,6' |\ mlr --csv put 'tee > $name . ".txt", $*' name,value a,1 a,2 b,3 c,10 b,6 $ ls a.txt b.txt c.txt $ cat a.txt name,value a,1 a,2

Milllerでunnestする

Millerは「CSV、TSV、JSONのためのjq」みたいなツールです。 ちょうど報告してたissueが一瞬で直ったので、nestの使い方メモ。 github.com

メモ:正規表現でreplacement functionを使いたいときはbaseの関数が便利っぽい

R

formatRのコードを読んでいると、こんな箇所がありました。 m = gregexpr(mat.comment, text.mask) regmatches(text.mask, m) = lapply(regmatches(text.mask, m), restore_bs) (https://github.com/yihui/formatR/blob/022da8c1be2c04c8374d19907c41bacd5d0…

メモ:A New Approach to Optimal Code Formattingを読む(2 Code layout)

これを読む。あんまり理解できる自信はない。 https://research.google.com/pubs/pub44667.html

メモ:formatRのtidy_source()がやっていること

R

RとウェブAPIに関する本をちょっと書きました。

API R

「Rによるスクレイピング入門」という本が3週間後に出る予定です。 日本のR界の出版王こと石田基広先生をはじめ、ホクソエム株式会社の名参謀・市川さん、人を死に至らしめる程のR力を誇るという瓜生さん、という豪華な著者陣に並んで、私もウェブAPIに関す…

メモ:dplyrのselect(data, col1:colN)みたいなやつはどう実現しているのか

select()は内部的にはselect_vars()を使っている。select_vars()はさらに内部ではlazyeval::lazy_eval()を呼び出している。

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

R

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

Visual Studio Codeでシンタックスハイライトをそのままコピペする。

とかいうと何か特別なことが必要かと思うじゃないですか? いいえ、ただコピペするだけです。

はてな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のログイン画面をGoで突破する

※この投稿はRStudio Advent Calendar 2016 16日目の記事です。 銀杏BOYZの峯田和伸の名言でこんなことばがあります。 僕は思うんだ。本当の芸術というのは、音楽にしたって映画にしたって文章にしたって演芸にしたってなんだって、ドアが開かぬままあなたに…

Thinkpad X1 Carbon/Windows 10でHyper-Vを有効にした時のメモ

諸事情でWindowsをProにする機運が高まったのでそうした。ついでなのでHyper-Vも使ってみる。セットアップでちょっと手間取ったのでメモ。

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

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

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

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