R 按组列出的累积最小值
我想计算给定组内的累计R 按组列出的累积最小值,r,data-manipulation,R,Data Manipulation,我想计算给定组内的累计min 我的当前数据帧: Group <- c('A', 'A', 'A','A', 'B', 'B', 'B', 'B') Target <- c(1, 0, 5, 0, 3, 5, 1, 3) data <- data.frame(Group, Target)) 组我们可以分组使用cummin功能 data$output <- with(data, ave(Target, Group, FUN = cummin)) data # Gro
min
我的当前数据帧:
Group <- c('A', 'A', 'A','A', 'B', 'B', 'B', 'B')
Target <- c(1, 0, 5, 0, 3, 5, 1, 3)
data <- data.frame(Group, Target))
组我们可以分组使用cummin
功能
data$output <- with(data, ave(Target, Group, FUN = cummin))
data
# Group Target output
#1 A 1 1
#2 A 0 0
#3 A 5 0
#4 A 0 0
#5 B 3 3
#6 B 5 3
#7 B 1 1
#8 B 3 1
这通常被称为累积最小值,而不是滚动最小值。
data$output <- with(data, ave(Target, Group, FUN = cummin))
data
# Group Target output
#1 A 1 1
#2 A 0 0
#3 A 5 0
#4 A 0 0
#5 B 3 3
#6 B 5 3
#7 B 1 1
#8 B 3 1
library(dplyr)
data %>%
group_by(Group) %>%
mutate(output = cummin(Target))
library(data.table)
setDT(data)[, output := cummin(Target), by = (Group)]