在R中按照变量分组并创建新列的解决方法有很多。下面是其中几种常见的示例:
library(dplyr)
# 创建一个数据框
df <- data.frame(group = c("A", "A", "B", "B", "C", "C"),
value = c(1, 2, 3, 4, 5, 6))
# 使用group_by函数按照group变量分组,然后使用mutate函数创建新列sum_value
df <- df %>%
group_by(group) %>%
mutate(sum_value = sum(value))
library(data.table)
# 创建一个数据表
dt <- data.table(group = c("A", "A", "B", "B", "C", "C"),
value = c(1, 2, 3, 4, 5, 6))
# 使用:=运算符按照group变量分组,然后使用sum函数创建新列sum_value
dt[, sum_value := sum(value), by = group]
# 创建一个数据框
df <- data.frame(group = c("A", "A", "B", "B", "C", "C"),
value = c(1, 2, 3, 4, 5, 6))
# 使用ave函数按照group变量分组,然后使用sum函数创建新列sum_value
df$sum_value <- ave(df$value, df$group, FUN = sum)
这些示例展示了使用dplyr、data.table和base R的不同方法来按照变量分组并创建新列。根据你的需求和个人偏好,你可以选择最适合你的方法。
上一篇:按照变量分组以创建新表
下一篇:按照变量名称分组进行总结