我无法解决以下问题,因此需要您的帮助:
x1<-matrix(c("A","A","A","A","A","B","B","B","B","B",
"x1","x2","x3","x4","x5","x1","x2","x3","x4","x5",
1,2,3,4,5,6,7,8,9,10),nrow = 10, ncol = 3)
x1
x2<- matrix(c("A","A","B","B",6,9,21,19),nrow = 4, ncol = 2)
x2
我想避免生成两个单独的数据集(一个用于x1,x2,x3,另一个用于x4,x5)。有谁知道如何解决这个问题?非常感谢!
data.table
library(data.table)
as.data.table(x1)[, .(vsum = sum(as.numeric(V3))), .(V1, grepl('[1-3]', V2))]
# V1 grepl vsum
# 1: A TRUE 6
# 2: A FALSE 9
# 3: B TRUE 21
# 4: B FALSE 19
基数R:
aggregate(as.numeric(x1[,3]), by = list(!grepl('[1-3]', x1[, 2]), x1[, 1]), sum)[, -1]
# Group.2 x
# 1 A 6
# 2 A 9
# 3 B 21
# 4 B 19
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句