首页 > 解决方案 > 由两个因素变量组成的子集

问题描述

我想考虑两个因素(fac1, fac2)之间的相互作用来聚合我的数据集并为此应用一个函数。例如,考虑由给出的数据集

set.seed(1)
test <- data.frame(fac1 = sample(c("A", "B", "C"), 30, rep = T), 
                   fac2 = sample(c("a", "b"), 30, rep = T), 
                   value = runif(30))

因为我们有五个值fac1 == "A""fac2 == a"我想按分钟聚合。使用残酷的力量我尝试过这种方式

min(test[test$fac1 == "A" & test$fac2 == "a", ]$value)

标签: raggregatefactors

解决方案


你提到aggregate,这将在这里工作。

aggregate(test$value, test[,1:2], min)
  fac1 fac2          x
1    A    a 0.32535215
2    B    a 0.14330438
3    C    a 0.33239467
4    A    b 0.33907294
5    B    b 0.08424691
6    C    b 0.24548851

推荐阅读