gpt4 book ai didi

R for循环用于过滤和汇总数据帧(使用dplyr)?

转载 作者:行者123 更新时间:2023-12-02 01:54:55 24 4
gpt4 key购买 nike

我使用 dyplr 的简单命令首先按两列过滤数据帧,然后报告另一列的总和。不过,我想创建一个循环,以便可以通过值列表自动执行过滤条件。例如单个实例的代码:

library(dplyr)
df = data.frame(Category1 = sample(c("FilterMe","DoNotFilterMe"), 15, replace=TRUE),
Category2 = sample(c("1","3","5","10"),15, replace=TRUE),
Value = 1:15)

df %>%
filter(Category1=="FilterMe" & Category2="1") %>%
summarize(result=sum(Value))

这工作得很好,我得到了单个值 15。但是我想循环该命令,以便我可以为由整数列表(非连续)定义的 Category2 执行多个值。我希望它针对 i 的每个值循环并每次提供不同的输出值。我尝试了下面的代码,但留下了空值。

library(dplyr)
for (i in c(1,3,5,10){
df %>%
filter(Category1=="FilterMe" & Category2="i") %>%
summarize(result=sum(Value))}

如果除了循环之外还有另一种方法可以实现相同的目标,那对我来说很好。

最佳答案

如果我明白你想做什么,那么你正在寻找 group_by。

library(dplyr)
df %>%
filter(Category1 =="FilterMe") %>%
group_by(Category2) %>%
summarize(result=sum(Value))

关于R for循环用于过滤和汇总数据帧(使用dplyr)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69744109/

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