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

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

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

Goのcrypto/rsaのEncryptPKCS1v15の使い方メモ

ちょっと自信がないので、OpenSSLでやったのと同じ結果になるか確かめてみる。

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

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

私と驥悟く蜈オ

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

dplyrは言語です

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

メモ:Visual Studio Codeバージョン1.7.2でJavaScriptの補完がやりやすくなった

Visual Studio CodeのJavaScript/Typescriptの補完は、Typescriptの型定義ファイルに頼って行われます。で、その型定義ファイルを自動でインストールする仕組みがTypescriptにできたらしいです。

ウェブ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 で、一点、 これはちょっとわかりづらいので、別途解説を書こうと思います。。 と言ってた宿題があるのでそれをこの記事では書きます…

メモ:GitLabがクラウドをやめた話

GitLabがクラウドをやめてベアメタルに行ったという記事についての自分用メモ。問題はストレージの性能らしい。 CephFSを使うようにしたけど、CephFSは安定したレイテンシが重要。しかしクラウドには「最低〇〇のレイテンシ」というSLAはIOに関してもネット…

メモ: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…

メモ:curlの国際化ドメイン名関連のバグ・CVE-2016-8625

curlの中の人がこんなことを言ってます。 friends, just DISABLE IDN support in curl to stay safe. It's a mess: https://t.co/YTY7y1VtaL— Daniel Stenberg (@bagder) 2016年11月2日 IDN(Internationalizing Domain Names; 国際化ドメイン名)っていうの…

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

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

怪しげなニュースサイトBusinessNewslineについて調べたことメモ

追記(10/23):BusinessNewslineのつづりを間違えているという指摘をいただいたので修正しました。すみません。。 さいきん立て続けにBusinessNewslineというメディア?の記事に引っかかってるひとを見かけたのでちょっと調べたことをメモ。 私は↓の記事を…

Kubernetes The Hard Wayをやってみたときのメモ

Kubernetesの中の人がつくったチュートリアルがあります。 これは、GCPでやる方法とAWSでやる方法があるけど、AWSのほうはjqを使わないとダメらしくて手元のWindows環境ではつらそうなのでGCPでやります。 (もはやGCPの使い方すら忘れてるくらいの初心者な…

メモ:Markdownのコードブロックだけ抜き出すAWKスクリプト

AWK

ざっくりとるにはこんな感じ。nextを覚えた。 $ curl https://raw.githubusercontent.com/kelseyhightower/kubernetes-the-hard-way/master/docs/04-kubernetes-controller.md | \ awk 'BEGIN{f=-1}; /^```$/ {f = f*-1; next}; f > 0 {print}' > tmp.sh

ggplot2 2.2.0 を使ってみる

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

apt-getで入るやつと同じオプションでVim 8.0をビルドする

Vim 8は試してみたいけど、PPAで入れるのはなんか気が引ける。ので、自分でビルドする。 それ自体は簡単で、GitHub上にソースコードはあるので sudo apt build-dep vim git clone https://github.com/vim/vim cd vim/ ./configure ... make make install と…

VS CodeでTypecript 2.0 + D3.js v4を補完できるようにする(暫定対処)

初心者だけどTypescript 2.0 + D3.js v4の勉強をしたい。どっちもメジャーバージョンから時間が経っておらず、関連ツールが移行期間だったりします。VS Codeで補完できるようになるまでちょっと手間取ったのでメモ。 (初心者すぎるので、間違ったことを書い…

メモ:VS Codeで「tsc compilerのバージョンとVS codeほにゃららのバージョンが違う」的な警告が出るときはtypescript.tsdkを設定するか1か月待つ?

A version mismatch between the globally installed tsc compiler (2.0.3) and VS Code's language service (1.8.10) has been detected. This might result in inconsistent compile errors. という警告が出ました。まだHello Worldをやってるだけなので気…

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

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

メモ:各アプリケーションコンテナのイメージ形式

ちょっと前のこの記事を思い出して、そういえばちょっとリンクだけでもメモっとこうと。 blog.gachapin-sensei.com

メモ:インストールしたもの

備忘録。

メモ:Thinkpad X1 Carbonにプリインストールされていたソフト

Lenovo Active Protection System HDDを振動から守るやつらしい。HDDじゃないから必要かよくわからない。 Lenovo Power Management Driver 省電力用のドライバ。 Lenovo Scaling Utility Fn + Tabでデスクトップを拡大するためのソフト、と書いてあるけど、F…

メモ: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にしようかな、と思うわけですが、待てよ、と。パッケージ名が似ていること…

メモ:シェルスクリプトでパスワードを設定するにはchpasswdが使えるかも

ふつうにadduserでやると、いろいろ聞かれるのでスクリプト中では使いづらい。 # adduser test Adding user `test' ... Adding new group `test' (1000) ... Adding new user `test' (1000) with group `test' ... Enter new UNIX password: Retype new UNIX…

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に書いてある話。 たとえばこういう要素があるとする。

ConsoleZでBash on Windowsを使おうとしたけど(今は)無理だった話

いい感じのコンソールがほしいのでConsoleZを試してみた時のメモ。

メモ: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がイ…

メモ:Bash on Windowsのデータの場所は

忘れそうなのでメモ。Bashは C:\Windows\System32\bash.exe にあるけど、実際のLinux on Windowsのファイルシステムは C:\Users\ユーザ名\AppData\Local\lxss にあった。 その下の実行ファイルはrootfs/binとかrootfs/user/binの下に入る。ただし、これはbas…

メモ:Firefoxのシェアボタンが「Firefox is unable to connect with Twitter right now」と出て機能しない時のワークアラウンド

Firefoxにはシェアボタンがついています。拡張機能とか特に入れなくても、ボタン一つであらゆるページをTwitterとかでシェアできて便利です。でした。 なぜ過去形かというと、けっこう前からこういうエラーが出て動かなかったからです。

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

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

メモ:リンク切れになっているシンボリックリンクをfindで見つける

find . -xtype l で探せるらしい。

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

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