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

formatRのコードを読んでいると、こんな箇所がありました。

    m = gregexpr(mat.comment, text.mask)
    regmatches(text.mask, m) = lapply(regmatches(text.mask, m), restore_bs)

(https://github.com/yihui/formatR/blob/022da8c1be2c04c8374d19907c41bacd5d0ecfcc/R/tidy.R#L107-L108)

続きを読む

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

これを読む。あんまり理解できる自信はない。

https://research.google.com/pubs/pub44667.html

続きを読む

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

続きを読む

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

「Rによるスクレイピング入門」という本が3週間後に出る予定です。

日本のR界の出版王こと石田基広先生をはじめ、ホクソエム株式会社の名参謀・市川さん、人を死に至らしめる程のR力を誇るという瓜生さん、という豪華な著者陣に並んで、私もウェブAPIに関する節をいくつか担当させていただきました。

Rによるスクレイピング入門

Rによるスクレイピング入門

続きを読む

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

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

続きを読む

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

とかかれているのをふと見かけてなるほどなあと思ったのでメモ。

# formulas automatically capture their enclosing environment
foo <- function(x) {
  y <- 10
  ~ x + y
}

(https://github.com/hadley/rlang/blob/84a63a1a660cebff373b9db02ac37e04c934dbde/R/tidy-eval.R#L30-L34)

※rlangはlazyevalの後継のパッケージ

続きを読む

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

とかいうと何か特別なことが必要かと思うじゃないですか?

いいえ、ただコピペするだけです。

続きを読む