自分自身でR tidyverse purr()
パッケージを教えており、ネストされたデータフレームの列にmap()
を実装する際に問題があります。誰かが私が逃していることを説明できますか?私が最初にそうようなダイエット#1のフィルタ場合、私は簡単ダイエット#1の下に各時点のための観測値の数を取得することができ、例として基地R ChickWeightデータセットを使用しネストされたデータフレームの列にmap()を実装する
:
library(tidyverse)
ChickWeight %>%
filter(Diet == 1) %>%
group_by(Time) %>%
summarise(counts = n_distinct(Chick))
これは大きいものの私は一度に各食事のためにそれをやりたいと思いますし、データを入れ子にしてmap()
で反復することが良いアプローチになると思いました。 これは私がやったことです:私はそれを置くために、パイプを使用して、この同じコマンドを試してみて、実装する場合しかしながら、
map(example$data, ~ .x %>% group_by(Time) %>% summarise(counts = n_distinct(Chick)))
:このマップ機能を実装
example <- ChickWeight %>%
nest(-Diet)
は、私が目指してるものを実現それが失敗した元のデータフレームの別の列。
example %>%
mutate(counts = map(data, ~ .x %>% group_by(Time) %>% summarise(counts = n_distinct(Chick))))
Error in eval(substitute(expr), envir, enclos) :
variable 'Chick' not found
どうしてですか?
データフレームをリストに分割してみましたが、機能しませんでした。
ChickWeight %>%
split(.$Diet) %>%
map(data, ~ .x %>% group_by(Time) %>% summarise(counts = n_distinct(Chick)))
https://github.com/tidyverse/tidyverseの開発版を意味しますか?私はちょうどそれ(バージョン1.1.1.9000)を再インストールし、 '.data'を見つけることができません。 mutate_impl(.data、dots)のエラー:オブジェクト '.data'が見つかりませんでした。 –
Devel dplyrは、[ここ](https://github.com/hadley/dplyr/)からインストールできます。 – alistaire