【发布时间】:2018-06-27 14:50:49
【问题描述】:
我的数据是这样的
set.seed(89)
d <- data.frame(
ID=seq(1, 100),
Encounter=sample(c(1:50), 100, replace = TRUE),
EffortType=sample(c("A","B","C"), 100, replace = TRUE)
)
我认为 Encounter 变量是一个因素。
我想知道 EffortType 可能组合的频率。
我希望结果看起来像这样
EffortType N
A 8
B 8
C 9
A,B 4
A,C 8
B,C 5
A,B,C 3
我还希望能够通过 EffortType 组合对数据进行子集化。例如,我最终会得到一个 EffortType A,B 的子集,看起来像这样
ID Encounter EffortType
52 2 A
53 2 B
61 2 A
63 2 A
79 2 A
36 7 B
59 7 B
83 7 A
etc.
我确实尝试过重塑数据,以便我使用“mutate”为每个 EffortType 级别设置单独的变量,然后尝试计算每个组合的实例,但没有正确执行此操作,如下所示。在计数之前,我无法弄清楚如何通过遭遇“分组”。
d = mutate(d,
A = ifelse(grepl("A", EffortType), T, F),
B = ifelse(grepl("B", EffortType), T, F),
C = ifelse(grepl("C", EffortType), T, F))
d = data.table(d)
d[, .N, by = c('Encounter', 'A', 'B', 'C')]
但我最终没有得到我希望的摘要。请帮忙。谢谢。
【问题讨论】:
-
在产生可重复性的随机数据之前 set.seed() 是个好主意
-
感谢您的提示 - 我添加了 set.seed() 并使“希望”的结果匹配。