【发布时间】:2015-08-27 16:49:58
【问题描述】:
我有一个数据框,其中包含我的数据 x 和三个不同的因素(主题、任务和正确答案)。
subj <- rep(c(1,2,3), times=4)
task <- c("A","A","A","A","A","A","B","B","B","B","B","B")
correct <- c(1,1,1,0,0,0,1,1,1,0,0,0)
x <- runif(12)
df <- data.frame(subj, task, correct, x)
我想获得这三个因素的每个可能组合中的试验次数(3 个 subjs * 2 个任务 * 2 个正确/不正确 = 12 个组合)。当然,这是一个不好的例子,因为我对每种组合只进行了一次试验,但你明白了。所以我这样做:
> aggregate(x~subj+task+correct, length, data=df)
subj task correct x
1 1 A 0 1
2 2 A 0 1
3 3 A 0 1
4 1 B 0 1
5 2 B 0 1
6 3 B 0 1
7 1 A 1 1
8 2 A 1 1
9 3 A 1 1
10 1 B 1 1
11 2 B 1 1
12 3 B 1 1
但现在说我的数据中缺少一些组合:
> newdf <- df[-2,]
使用相同的聚合函数不会显示我所有可能的组合,仅显示 12 种组合中的 11 种。我想为我的缺失组合获得长度为 0(或 NA,或类似的东西)。
注意:有一个类似的问题here,但我认为它并不能完全回答我的问题。
【问题讨论】:
标签: r