R

メモ:ggplot2でGeomの直接の子クラスはいくつあるかを調べる

たとえば、GeomBarはGeomRectの子クラスです。 class(GeomBar) #> [1] "GeomBar" "GeomRect" "Geom" "ggproto" "gg"

メモ:リストの要素を消したいときはx[i] <- NULL、NULLを代入したいときはx[i] <- list(NULL)

R

ってFAQに書いてあるのを毎回忘れるのでメモ。 In R, if x is a list, then x[i] <- NULL and x[[i]] <- NULL remove the specified elements from x. The first of these is incompatible with S, where it is a no-op. (Note that you can set elements to…

メモ:環境をコピーしたいときはrlang::env_clone()

R

環境、というかggplot2のレイヤーをコピーすることを考えます。 まず、1つレイヤーをつくります。 library(ggplot2) d <- data.frame( x = 1:4, y = 1:4 ) l1 <- geom_point(d = d, aes(x, y))

メモ:行列を列ごと・行ごとのベクトルのリストに変換したいときはsplit()にcol()/row()

R

combn()は行列を返すけど、ベクトルのリストを返してほしいんだよなー、と思っていろいろ調べてた時のメモ。 col()/row()でそれぞれ列と行のインデックスが取れるので、これをsplit()に渡せば分割できる。簡単ですね。

「再現可能性のすゝめ―RStudioによるデータ解析とレポート作成― 」(高橋康介 著)を読んだ。

著者の方のご厚意でこの話題の本を頂きました。 今知るべき再現可能性についての知識がコンパクトにまとめられている良書です。

メモ:WSLでEmacs+ESSを使う(ESS導入まで)

前回の続き。

メモ:WSLでEmacs+ESSを使う準備

Emacs歴実質3日目くらいです。↓を読みながら勉強中。変なとこあればやさしく突っ込んでもらえれば... [改訂新版]Emacs実践入門―思考を直感的にコード化し、開発を加速する (WEB+DB PRESS plus)作者: 大竹智也出版社/メーカー: 技術評論社発売日: 2017/09/22…

メモ:S3のメソッドディスパッチ用に.__S3MethodsTable__.という環境があるっぽい

R

r-wakalangで、 よくわからないんですけど、S3のメソッドディスパッチの対象になるのは、 S3method() で明示的にメソッドとして登録されたもの サーチパス上にある 関数名.クラス() というフォーマットの名前の関数 で、前者は上書きできない、あるいは先に…

メモ:RのREPLのコードを追ってみる

R

AtsushiさんのQiita記事を読んでちょっと興味が湧いたので調べたことをメモ。

メモ:lubridateパッケージで区間を指定したいときはperiod、ざっくり時刻計算したいときはduration

任意の時刻型について、floor_date()で区切った区間のちょうど真ん中を返す関数を作りたい。こんな感じの。 library(lubridate) mannaka <- function(x, binwidth_hour) { floor_date(x, hours(binwidth_hour)) + hours(binwidth_hour)/2 }

ls()についてのもうちょっと回りくどい説明

R

これのもうちょっと回りくどい版の記事を書きます。

stringr::str_replace()には置換文字列だけではなく関数も指定できる

stringrパッケージのstr_replace()/str_replace_all()は、バージョン1.2.0からreplacement引数に関数を取ることができます。 これを使うと、「指定した正規表現にマッチした部分だけ大文字にする」みたいなことが簡単にできます。

OECDパッケージを使ってRで日本の労働生産性のグラフを描く

R API

なんかこれ↓が話題のようなので、とりあえず元データをふわっと探してみました。 日本経済研究センター JCER

rtweetパッケージでTwitter APIからデータを取るのが超お手軽になってた

Twitter APIからデータを取得するにはrtweetパッケージを使おう、という話は前に書きましたが、Twitter APIを使うにはトークン取得のために各自でTwitterアプリを登録する必要があり、やや面倒でした。 例えば2017年9月のこの記事ではその登録の仕方を詳しく…

usethis::use_dev_version()が、おれの道を教えてくれる。(あるいは、CRANにリリースした後にやるべきこと)

よくきたな。おれはyutannihilationだ。 この記事を読んでいるということは、おまえはパルプRパケージ作者であり、すでに闇と向き合いCRANデビューを果たしていることだろう。

メモ:.Primitive()でメソッドディスパッチされる仕組み is どこ...

R

この現象を解き明かしたい。 文字列は足せない。 "a" + "a" #> Error in "a" + "a": non-numeric argument to binary operator character用のメソッドを作ってもディスパッチしてくれない。 `+.character` <- paste0 "a" + "a" #> Error in "a" + "a": non-n…

Tokyo.RでApache ArrowとRの現状についてLTしてきました。

第67回R勉強会@東京でApache ArrowについてLTしてきました。 Apache Arrowを紹介したいというよりも、全貌をあんまり理解できていないのでざっくり発表して詳しい人からツッコミをもらいたい、という気持ちでスライドをつくりました。 たぶんいろいろ間違っ…

メモ:copy-on-modifyの挙動

R

こういうdata.frameがあるとする。 d1 <- data.frame( x = 1:1000, y = 1:1000, z = 1:1000 ) pryr::object_size(d1) #> 12.9 kB

sfパッケージのvignette「Plotting Simple Features」を読んだあとのメモ

sfのバージョン0.5-5で以下のvignetteが追加されています。sfをプロットする方法がいろいろ載っていて便利です。 https://cran.r-project.org/web/packages/sf/vignettes/sf5.html

fuzzyjoinパッケージでいい感じにjoin

dplyrパッケージの*_join()は、キーとなる列の値が完全に一致する必要があります。しかし、世の中のデータはそんなにきれいに一致はしていなくて、微妙に表記が違うとか微妙に値がずれているみたいなことがよくあります。 そんなときは、fuzzyjoinパッケージ…

ggplot2で特定の点の目盛りだけ目立たせる

前に質問を受けてつぶやいたやつですが、備忘録的にブログにも書いておきます。 ggplot2の軸のラベルひとつひとつに違うスタイルを当てるにはラベルの数だけベクトルを渡せばいいらしいです(リアル質問への空リプ)。 https://t.co/oamHOC6AUi— Hiroaki Yut…

lwgeomパッケージでRからliblwgeomの関数を使う

lwgeomは、liblwgeomというライブラリをRから使えるようにするパッケージです。 次のような関数が用意されています。 st_make_valid(): 不正な地物を整形 st_geohash(): geohashを計算 st_geod_*(): 面積や方位を計算 st_transform_proj: 投影法の変更 st_mi…

RでFTPを使う

CRANにサブミットされたパッケージは以下で見られます。 ftp://cran.r-project.org/incoming/ どのディレクトリがどういう意味なのかよく分からないんですが、 pending: 審査待ち inspect: 審査中? recheck: 何か問題があって確認待ち? という感じの意味の…

R MarkdownでJuliaを使う

これはJulia Advent Calendar 2017 - Qiita 10日目の記事です。 Julia歴0.5日くらいの超初心者ですが、もうすぐR MarkdownでJuliaが使えるようになるので紹介します。

RStudio Communityに書き込んでTシャツをゲットしよう!

R

これはRStudio Advent Calendar 2017 - Qiita 9日目の記事です。 今日は、IDE/エディタとしてのRStudioからちょっと脇道に逸れて、RStudio Communityについて紹介します。

RStudioのConnectionsペインを使う

これはRStudio Advent Calendar 2017 - Qiita 8日目の記事です。 11/26にあったHijiyama.R the FinalでRStudioのConnectionsペインについてLTをしてきました。

メモ: multi-gatherをpurrrでやってみる

昨日の記事のコメント欄でmap()を使うやり方を教えてもらったので、触発されて自分でもやってみる。

tidyrのmulti-gatherの未来

(これはtidyポエム Advent Calendar 2017 - Adventar 6日目の記事です) こんなIssueがあります。

完璧なdata.frameなどといったものは存在しない。完璧な絶望が存在しないようにね。

tidyポエム Advent Calendar 2017 - Adventar 5日目の記事です。 なんかdata.frameとtibbleについての議論が盛り上がってるようなので、data.frameについて書きましょう。 ええ、決して「tidygraphに触ってみる」なんていうタイトルでアドベントカレンダーに…

R関連のアドベントカレンダーに穴が空いているかをRから知る

これはR Advent Calendar 2017 2日目の記事です。R Advent Calendar 2017が今日の担当者不在のままだったので、「あいてたら埋める」というホクソエムの誓いに従って急遽記事を書いています。 にしても、Rという人気言語のアドベントカレンダーで、担当者が…