자신에게 R tidyverse purr()
패키지를 가르치고 있으며 중첩 데이터 프레임의 열에 map()
을 구현하는 데 문제가 있습니다. 누군가 내가 누락 된 부분을 설명 할 수 있을까요? 내가 그렇게 같은 다이어트 # 1 첫 번째 필터 경우 예를 들어 기본 R ChickWeight 데이터 세트를 사용중첩 된 데이터 프레임의 열에 대해 map() 구현
내가 쉽게 다이어트 # 1 아래의 각 평가시기에 대한 관찰의 수를 얻을 수 있습니다 :
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) 오류 : 개체 '. 데이터가 없습니다'. –
Devel dplyr. [here] (https://github.com/hadley/dplyr/)에서 설치할 수 있습니다. – alistaire