R
追記(2018/07/18): すみません、Twitter上でいろいろ間違えている部分をご指摘いただきました(ありがとうございました)。 コピーしなくても計算はできる ただし結果をメモリ上に上書きすることはできない GandivaはArrowにマージされのを目指している …
よく分からない質問が来たのでメモ。 f <- function(x ..., y=NA, z=0)が良さげですよ。参照: https://t.co/ERf8JBCo5U#yutaniR https://t.co/wcU0bruxUY— Shinichi Takayanagi (@_stakaya) 2018年7月12日
(この記事は「ggplot2 2.3.0(RC版)を使ってみた」として2018/05/27に公開していたものです。バージョン3.0.0としてリリースされたのでタイトルを変えました) ggplot2 3.0.0がリリースされました。例によってこのニュースを追ってみます: 公式のアナウン…
ここでいう遅い、というのは、 plot()と比べて geom_point()、geom_line()、geom_polyon()と比べて という意味。
ggspatialがsf対応したらしい。このパッケージはところどころイケてない感もあるけど*1、まあでも自分でパッケージつくるよりは楽そうなので、まあ使うかーという感じ *1:とりあえず、ライセンス表示つけてほしい...
というタイトルでみんな揃えているようなので、合わせてみました。↓この本(通称「宇宙本」)です。 もう紹介ポイントはだいぶ出尽くしている感じはするので、詳しい内容よりもエモみ重点で書きます。
geom_sf()と戯れていて、ちょっと点線でも引いてみるか、と思ってやってみると、なにこれ??という感じの汚い線の図になりました。 library(ggplot2) library(sf) #> Linking to GEOS 3.6.1, GDAL 2.2.3, proj.4 4.9.3 nc <- sf::st_read(system.file("shap…
MinGWでビルドしたEmacsを使ってるんですが、依存ライブラリとかの関係でmsys64.exeから立ち上げる必要があります。
gghighlightパッケージは、データ系列が多すぎるとき、いい感じに一部をハイライトしてくれるパッケージでした。 もうすぐリリース予定のggplot2 2.3.0の新機能を使ってパワーアップ中です。 詳しい解説はおいおい書くとして、簡単に紹介だけします。
ggplot2 2.3.0全体の変更点については以下に書きましたが、その中でも目玉の一つgeom_sf()について軽く紹介します。
たとえば、GeomBarはGeomRectの子クラスです。 class(GeomBar) #> [1] "GeomBar" "GeomRect" "Geom" "ggproto" "gg"
って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…
環境、というかggplot2のレイヤーをコピーすることを考えます。 まず、1つレイヤーをつくります。 library(ggplot2) d <- data.frame( x = 1:4, y = 1:4 ) l1 <- geom_point(d = d, aes(x, y))
combn()は行列を返すけど、ベクトルのリストを返してほしいんだよなー、と思っていろいろ調べてた時のメモ。 col()/row()でそれぞれ列と行のインデックスが取れるので、これをsplit()に渡せば分割できる。簡単ですね。
著者の方のご厚意でこの話題の本を頂きました。 今知るべき再現可能性についての知識がコンパクトにまとめられている良書です。
前回の続き。
Emacs歴実質3日目くらいです。↓を読みながら勉強中。変なとこあればやさしく突っ込んでもらえれば... [改訂新版]Emacs実践入門―思考を直感的にコード化し、開発を加速する (WEB+DB PRESS plus)作者: 大竹智也出版社/メーカー: 技術評論社発売日: 2017/09/22…
r-wakalangで、 よくわからないんですけど、S3のメソッドディスパッチの対象になるのは、 S3method() で明示的にメソッドとして登録されたもの サーチパス上にある 関数名.クラス() というフォーマットの名前の関数 で、前者は上書きできない、あるいは先に…
AtsushiさんのQiita記事を読んでちょっと興味が湧いたので調べたことをメモ。
任意の時刻型について、floor_date()で区切った区間のちょうど真ん中を返す関数を作りたい。こんな感じの。 library(lubridate) mannaka <- function(x, binwidth_hour) { floor_date(x, hours(binwidth_hour)) + hours(binwidth_hour)/2 }
これのもうちょっと回りくどい版の記事を書きます。
stringrパッケージのstr_replace()/str_replace_all()は、バージョン1.2.0からreplacement引数に関数を取ることができます。 これを使うと、「指定した正規表現にマッチした部分だけ大文字にする」みたいなことが簡単にできます。
なんかこれ↓が話題のようなので、とりあえず元データをふわっと探してみました。 日本経済研究センター JCER
Twitter APIからデータを取得するにはrtweetパッケージを使おう、という話は前に書きましたが、Twitter APIを使うにはトークン取得のために各自でTwitterアプリを登録する必要があり、やや面倒でした。 例えば2017年9月のこの記事ではその登録の仕方を詳しく…
よくきたな。おれはyutannihilationだ。 この記事を読んでいるということは、おまえはパルプRパケージ作者であり、すでに闇と向き合いCRANデビューを果たしていることだろう。
この現象を解き明かしたい。 文字列は足せない。 "a" + "a" #> Error in "a" + "a": non-numeric argument to binary operator character用のメソッドを作ってもディスパッチしてくれない。 `+.character` <- paste0 "a" + "a" #> Error in "a" + "a": non-n…
第67回R勉強会@東京でApache ArrowについてLTしてきました。 Apache Arrowを紹介したいというよりも、全貌をあんまり理解できていないのでざっくり発表して詳しい人からツッコミをもらいたい、という気持ちでスライドをつくりました。 たぶんいろいろ間違っ…
こういうdata.frameがあるとする。 d1 <- data.frame( x = 1:1000, y = 1:1000, z = 1:1000 ) pryr::object_size(d1) #> 12.9 kB
sfのバージョン0.5-5で以下のvignetteが追加されています。sfをプロットする方法がいろいろ載っていて便利です。 https://cran.r-project.org/web/packages/sf/vignettes/sf5.html
dplyrパッケージの*_join()は、キーとなる列の値が完全に一致する必要があります。しかし、世の中のデータはそんなにきれいに一致はしていなくて、微妙に表記が違うとか微妙に値がずれているみたいなことがよくあります。 そんなときは、fuzzyjoinパッケージ…