,可以通过以下步骤实现:
by
列。unique()
函数获取列的唯一值,将结果保存在一个新的向量中。lapply()
函数遍历唯一值向量,并对每个唯一值执行以下操作:subset()
函数根据唯一值筛选数据表,创建一个新的子数据表。by
参数指定按照哪一列进行分组。sum()
函数对分组后的数据进行求和操作。data.table()
函数创建新的数据表。以下是一个示例代码:
library(data.table)
# 加载数据表
dt <- data.table(col1 = c(1, 2, 3, 1, 2, 3),
col2 = c(4, 5, 6, 7, 8, 9),
by = c("A", "B", "A", "B", "A", "B"))
# 获取列的唯一值
unique_values <- unique(dt$col1)
# 对每个唯一值进行求和操作
sum_values <- lapply(unique_values, function(x) {
subset_dt <- subset(dt, col1 == x)
sum(subset_dt$by)
})
# 合并唯一值和求和结果
result <- data.table(unique_values, sum_values)
在这个例子中,我们假设col1
是需要获取唯一值并进行求和操作的列,by
是用于分组的列。最终的结果将包含两列,一列是唯一值,另一列是对应的求和结果。
请注意,这只是一个示例代码,实际情况中需要根据具体的数据表结构和需求进行相应的调整。
领取专属 10元无门槛券
手把手带您无忧上云