gpt4 book ai didi

r - 通过条件计算因子 [r] 内的平均值

转载 作者:行者123 更新时间:2023-12-01 00:53:40 26 4
gpt4 key购买 nike

我正在寻找计算结果变量的简单平均值,但仅适用于与另一个运行变量的最大实例相关联的结果,按因素分组。

当然,计算出的统计量可以代替任何其他函数,组内的评估可以是任何其他函数。

library(data.table) #1.9.5
dt <- data.table(name = rep(LETTERS[1:7], each = 3),
target = rep(c(0,1,2), 7),
filter = 1:21)
dt

## name target filter
## 1: A 0 1
## 2: A 1 2
## 3: A 2 3
## 4: B 0 4
## 5: B 1 5
## 6: B 2 6
## 7: C 0 7

在这个框架中,期望的输出应该返回一个满足恰好 2 标准的目标的平均值。

就像是:
dt[ , .(mFilter = which.max(filter),
target = target), by = name][ ,
mean(target), by = c("name", "mFilter")]

...看起来很接近,但不是很正确。

解决方案应该返回:
##    name   V1 
## 1: A 2
## 2: B 2
## 3: ...

最佳答案

你可以这样做:

dt[, .(meantarget = mean(target[filter == max(filter)])), by = name]
# name meantarget
# 1: A 2
# 2: B 2
# 3: C 2
# 4: D 2
# 5: E 2
# 6: F 2
# 7: G 2

关于r - 通过条件计算因子 [r] 内的平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29681363/

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