【发布时间】:2017-06-29 06:27:08
【问题描述】:
我想知道为什么 purrr 中的 cant map function 不能解决这个查询
tapply(mtcars$mpg, mtcars$cyl, mean)
# 4 6 8
#26.66364 19.74286 15.10000
与
mtcars %>% split(.$cyl) %>% map(~mean(mpg))
#$4
[1] NA
#$6
[1] NA
#$8
[1] NA
#Warning messages:
1: In mean.default(mpg) : argument is not numeric or logical: returning NA
2: In mean.default(mpg) : argument is not numeric or logical: returning NA
3: In mean.default(mpg) : argument is not numeric or logical: returning NA
【问题讨论】:
-
虽然我喜欢
purrr,但您可以使用 group by 语句相对轻松地做到这一点,例如使用dplyr:library(dplyr) mtcars %>% group_by(cyl) %>% summarise(mean_mpg = mean(mpg))抱歉,不确定您是否在问为什么purrr不能这样做,或者只是想找到一种方法来不使用tapply()来做到这一点跨度>