filmov
tv
Calculate Min & Max by Group in R (Example) | Base R, dplyr & data.table | How to Add as New Column

Показать описание
R code of this video:
group = rep(LETTERS[1:3], each = 3))
data # Print example data frame
data_min1 <- aggregate(formula = value ~ group, # Get min by group
data = data,
FUN = min)
data_min1 # Return min by group
data_max1 <- aggregate(formula = value ~ group, # Get max by group
data = data,
FUN = max)
data_max1 # Return max by group
library("dplyr")
data_min2 <- data %>% # Get min by group
group_by(group) %>%
summarise_at(vars(value),
list(min = min))
data_min2 # Return min by group
data_max2 <- data %>% # Get max by group
group_by(group) %>%
summarise_at(vars(value),
list(max = max))
data_max2 # Return max by group
data_min3 <- data_min3[ , .(min = min(value)), by = group] # Get min by group
data_min3 # Return min by group
data_max3 <- data_max3[ , .(max = max(value)), by = group] # Get max by group
data_max3 # Return max by group
data_min4 <- data # Replicate data frame
data_min4$min <- ave(data_min4$val, # Get min by group
data_min4$gr,
FUN = min)
data_min4 # Return min by group as column
data_max4 <- data # Replicate data frame
data_max4$max <- ave(data_max4$val, # Get max by group
data_max4$gr,
FUN = max)
data_max4 # Return max by group as column
Follow me on Social Media:
group = rep(LETTERS[1:3], each = 3))
data # Print example data frame
data_min1 <- aggregate(formula = value ~ group, # Get min by group
data = data,
FUN = min)
data_min1 # Return min by group
data_max1 <- aggregate(formula = value ~ group, # Get max by group
data = data,
FUN = max)
data_max1 # Return max by group
library("dplyr")
data_min2 <- data %>% # Get min by group
group_by(group) %>%
summarise_at(vars(value),
list(min = min))
data_min2 # Return min by group
data_max2 <- data %>% # Get max by group
group_by(group) %>%
summarise_at(vars(value),
list(max = max))
data_max2 # Return max by group
data_min3 <- data_min3[ , .(min = min(value)), by = group] # Get min by group
data_min3 # Return min by group
data_max3 <- data_max3[ , .(max = max(value)), by = group] # Get max by group
data_max3 # Return max by group
data_min4 <- data # Replicate data frame
data_min4$min <- ave(data_min4$val, # Get min by group
data_min4$gr,
FUN = min)
data_min4 # Return min by group as column
data_max4 <- data # Replicate data frame
data_max4$max <- ave(data_max4$val, # Get max by group
data_max4$gr,
FUN = max)
data_max4 # Return max by group as column
Follow me on Social Media: