gpt4 book ai didi

基于工作日和周末的 R 平均计数

转载 作者:行者123 更新时间:2023-12-04 11:35:52 24 4
gpt4 key购买 nike

我有以下原始数据的子集数据。

ID    Day
1 Wednesday
2 Wednesday
1 Thursday
1 Friday
1 Saturday
2 Saturday
2 Sunday
1 Monday

如您所见,ID 1 在星期三有一个条目。我需要对 ID 1 的工作日进行求和,然后除以 5。同样,我需要对 ID 1 的周末进行求和,然后除以 2。

我需要的输出是

ID    Weekdays    Weekends
1 0.8 0.5
2 0.2 1

如您所见,对于 ID 1,工作日 = 0.8 =(工作日 ID 1 的 4 条条目)/5同样周末= 0.5 =(周末有1个条目)/2

我需要实现的是计算每个ID在周末和工作日的平均出现次数。我知道我们可以通过很多步骤来实现该功能。有没有办法用更少的 LOC 来实现相同的功能?

最佳答案

您可能会创建一些短周末向量,然后进行简单的聚合,这是一个可能的 data.table 解决方案

indx <- c("Sunday", "Saturday")
library(data.table)
res <- setDT(df)[, as.list(table(Day %in% indx)/c(5, 2)), by = ID]
setnames(res, c("ID", "Weekdays", "Weekends"))
# ID Weekdays Weekends
# 1: 1 0.8 0.5
# 2: 2 0.2 1.0

关于基于工作日和周末的 R 平均计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30752738/

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