【发布时间】:2018-04-05 06:17:37
【问题描述】:
我有以下代码
library(tidyverse)
dat <- iris %>%
group_by(Species) %>%
summarise(summary = list(fivenum(Petal.Width)))
dat
#> # A tibble: 3 x 2
#> Species summary
#> <fct> <list>
#> 1 setosa <dbl [5]>
#> 2 versicolor <dbl [5]>
#> 3 virginica <dbl [5]>
基本上我使用 Iris 数据,按物种分组,然后计算 fivenum()。
我想要做的是简单地计算汇总值的长度: 这是我尝试过的,但没有产生我期望的结果:
dat %>%
mutate(nof_value = length(summary))
# A tibble: 3 x 3
# Species summary nof_values
# <fct> <list> <int>
#1 setosa <dbl [5]> 3
#2 versicolor <dbl [5]> 3
#3 virginica <dbl [5]> 3
nof_values 应该都等于 5。正确的做法是什么?
【问题讨论】:
-
length(summary)为您提供summary列表列的length。像dat %>% mutate(unlist(lapply(summary, length)))这样的东西会起作用(虽然不是很优雅)