niszetの日記

細かい情報を載せていくブログ

dplyrとpurrrあたりを修行中

dplyrとmapの使い方が難しい。

結局、これは使わなくて良いきがするのだけど、spreadについてちょっと触っていて気付いたもの。
何かの値が入った列をvalueに指定すると、それが列名になりますね。 これを選択することがうまくいかなかった。具体的には下記の例でselect(-20)では意図したものになりませぬ。``で囲ってあげる必要があるのでした。

as_data_frame(list("a"=c(9999,1010200000,20),"b"=c(10,2000,300),"c"=c("a","b","c"))) %>%
 spread(key="a",value=b) %>% select(-`20`)

結果はこんな感じ。

## A tibble: 3 × 3
#      c `9999` `1010200000`
#* <chr>  <dbl>        <dbl>
#1     a     10           NA
#2     b     NA         2000
#3     c     NA           NA

spread重複があるとNAになったりするので、それを事前に知れたらいいのになぁ…。distinctとか? ゆるーく調べてみます。