1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

我輩はtidyである。自作パッケージはまだない

Last updated at Posted at 2017-12-11

この記事は tidyポエム Advent Calendar 2017 - Adventar 11日目 の記事です。


#はじめに
月がtidyですね。とか,完璧なdata.frameなどといったものは存在しない。完璧な絶望が存在しないようにね。とか,ウィットに富んだ記事を楽しく読ませていただいておりました。
そんな折,何でもいいから書いてみたらとお声かけいただき,思いつくままにタイトルを登録したのですが,今見返すととても偉そうなタイトルで,反省しています。だって吾輩tidyじゃないもの...

#私のRの歴史は...
私のRの歴史はreshape2の歴史にあらず、plyrの歴史にあらず、plot()の歴史にあらず、単にtidyverseの歴史であると申したいくらいだ。だからtidyverseをロードしていないコードを見ると自分で書いた感じがしない――

というポエムを思いついただけなのでもう書くことが無くなってしまいました。
一応補足説明をすると...Rを本格的に使い始めたきっかけは,ggplot2dplyrtidyrと出会ったことでした。実はreshape2plyrも経ていません。
今や,新規にスクリプトを立ち上げたら,さながら「とりあえずビールで」のようなノリで

setup
library(tidyverse)

ですよ(お酒飲まないですけど)。好きとか嫌いとかはいい,tidyverseをロードするんだ。

#これからの日々は...
そんなわけで日々tidyverseのお世話になっているのですが,未だに慣れないところがあって,修業が足りないなあと痛感しているところです。一番躓きやすいのがdplyr::recode()で,いつもdplyr 0.5.0を使ってみるを参照させていただいています。以下のコードは,上記サイトから転記したものです。

recode
x <- c("a", "b", "a", "b", "a", "c")
recode(x, a = "あ", .default = "うん")
#> [1] "あ"   "うん" "あ"   "うん" "あ"   "うん"

例えば名前の似ているdplyr::rename()だと,new = oldの順に書きますよね。

rename
iris2 <- iris %>% dplyr::rename(SL = Sepal.Length)

dplyr::mutate()等も同様に,new = oldの順です。

mutate
iris2 <- iris %>% dplyr::mutate(Sepal = (Sepal.Length + Sepal.Width) / 2)

対してdplyr::recode()は上記の通り,old = newの順。いつも,「どっちだっけ...」と混乱してしまいます。精進します。

オチは特にないです。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?