Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

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

More than 3 years have passed since last update.

この記事は 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の順。いつも,「どっちだっけ...」と混乱してしまいます。精進します。

オチは特にないです。

kyn02666
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away