gpt4 book ai didi

r - 如何计算列表列中向量的长度(嵌套)

转载 作者:行者123 更新时间:2023-12-02 06:28:09 25 4
gpt4 key购买 nike

我有以下代码

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]>

基本上,我使用了虹膜数据,按“物种”将其分组,然后计算出 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。什么是正确的方法?

最佳答案

我们可以使用lengths来计算嵌套列表的长度

library(tidyverse)
dat %>%
mutate(nof_values = lengths(summary))

# Species summary nof_values
# <fct> <list> <int>
#1 setosa <dbl [5]> 5
#2 versicolor <dbl [5]> 5
#3 virginica <dbl [5]> 5

在基数R中的等价于
dat$nof_values <- lengths(dat$summary)

旁注: lengthlengths不同
length(dat$summary)
#[1] 3

lengths(dat$summary)
#[1] 5 5 5

关于r - 如何计算列表列中向量的长度(嵌套),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49665334/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com