gpt4 book ai didi

r - R中按日期分组的条件总和

转载 作者:行者123 更新时间:2023-12-01 21:28:15 26 4
gpt4 key购买 nike

我正在处理的数据是一组中的人数。我关心的数据集中的列是日期(第 1 列)和一组中的人数(第 3 列,其中在给定的一天每个组都有单独的行)。我正在寻找一个输出电子表格,其中有一列是日期,一列是一天中有一个人的所有组的总和,一列是大于一个组的所有人的总和在一天。

例如,如果这是我的数据集:

约会对象
10/18 1
10/18 3
10/18 1
10/18 8
10/20 1
10/20 4
10/20 2

我想要的输出是:

日期 p=1 p>1
10/18 2 11
10/20 1 6

我的数据框是“DF”,不同日期的 csv 是“times”。我尝试使用 for 循环,但输出仅为零。

这是我尝试过的:

ntimes = length(times$UniTimes)
for(i in 1:ntimes)
{

s<- sum(DF[which (DF[,3] > 1 & DF[,1]==i),3])
t<- sum(DF[which (DF[,3] < 2 & DF[,1]== i),3])

}
ndf<-data.frame(times,s,t)
write.csv(ndf,'groups_c.csv')

感谢您的宝贵时间和帮助!

最佳答案

您可以使用聚合:

aggregate(People ~ Date, x, function(x) c("p=1" = sum(x[x==1]),
"p>1" = sum(x[x>1])))
# Date People.p=1 People.p>1
#1 10/18 2 11
#2 10/20 1 6

关于r - R中按日期分组的条件总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62780363/

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