dplyr:为什么个人计数摘要和索引摘要有所不同
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了dplyr:为什么个人计数摘要和索引摘要有所不同相关的知识,希望对你有一定的参考价值。
我正在创建一个新列,其中包含函数内的分组摘要计数。为什么:
iris %>%
group_by(Species) %>%
mutate(Count = sum(Sepal.Length + Sepal.Width + Petal.Length + Petal.Width))
不会产生相同的结果
iris %>% mutate(count = sum(.[1:ncol(.)])
要么
iris %>%
group_by(Species) %>%
mutate(Count = map_if(is.numeric, sum(rowSums(.))))
如何使用列索引创建计数总和以插入具有可变col_names的函数? (索引的原始原因)
答案
一种方法是nest
之后的group_by
,用map
循环嵌套'数据',选择数字列(select_if
),mutate
通过获得sum
和rowSums
的unnest
来创建'Count'
library(tidyverse)
iris %>%
group_by(Species) %>%
nest %>%
mutate(data = map(data, ~ .x %>%
select_if(is.numeric) %>%
mutate(Count = sum(rowSums(.))))) %>%
#or use reduce with sum
# mutate(Count = reduce(., `+`) %>% sum))) %>%
unnest
# A tibble: 150 x 6
# Species Sepal.Length Sepal.Width Petal.Length Petal.Width Count
# <fct> <dbl> <dbl> <dbl> <dbl> <dbl>
# 1 setosa 5.1 3.5 1.4 0.2 507.
# 2 setosa 4.9 3 1.4 0.2 507.
# 3 setosa 4.7 3.2 1.3 0.2 507.
# 4 setosa 4.6 3.1 1.5 0.2 507.
# 5 setosa 5 3.6 1.4 0.2 507.
# 6 setosa 5.4 3.9 1.7 0.4 507.
# 7 setosa 4.6 3.4 1.4 0.3 507.
# 8 setosa 5 3.4 1.5 0.2 507.
# 9 setosa 4.4 2.9 1.4 0.2 507.
#10 setosa 4.9 3.1 1.5 0.1 507.
# ... with 140 more rows
以上是关于dplyr:为什么个人计数摘要和索引摘要有所不同的主要内容,如果未能解决你的问题,请参考以下文章