【发布时间】:2014-03-16 11:32:14
【问题描述】:
我有一个数据集,包含 n 个观察值和三个验证列,表明它们是否可以包含在分析中。我想通过对每个变量求和来总结每个过滤器列的数据集。
我在使用 reshape 包时遇到了很大的困难,示例数据集如下:
dat <- data.frame (
ID = c(1:20),
Var1 = ifelse(runif(20, min = 0, max = 1) > 0.5,1,0),
Var2 = ifelse(runif(20, min = 0, max = 1) > 0.5,1,0),
Var3 = ifelse(runif(20, min = 0, max = 1) > 0.5,1,0),
Filter1 = ifelse(runif(20, min = 0, max = 1) > 0.5,TRUE,FALSE),
Filter2 = ifelse(runif(20, min = 0, max = 1) > 0.4,TRUE,FALSE),
Filter3 = ifelse(runif(20, min = 0, max = 1) > 0.3,TRUE,FALSE)
)
这将返回以下数据集:
ID Var1 Var2 Var3 Filter1 Filter2 Filter3
1 1 1 0 1 FALSE TRUE TRUE
2 2 1 1 1 FALSE FALSE FALSE
3 3 1 1 1 TRUE FALSE TRUE
4 4 1 0 0 TRUE TRUE TRUE
5 5 1 0 0 FALSE FALSE TRUE
6 6 1 1 1 FALSE TRUE FALSE
7 7 1 0 1 FALSE TRUE FALSE
8 8 0 1 1 FALSE TRUE TRUE
9 9 0 0 0 FALSE FALSE FALSE
10 10 1 0 1 FALSE TRUE TRUE
11 11 1 0 0 TRUE TRUE FALSE
12 12 0 1 1 FALSE FALSE TRUE
13 13 0 0 0 TRUE TRUE TRUE
14 14 0 1 1 FALSE TRUE FALSE
15 15 0 0 0 FALSE FALSE FALSE
16 16 1 1 0 TRUE FALSE TRUE
17 17 0 1 0 TRUE FALSE FALSE
18 18 1 1 0 FALSE FALSE TRUE
19 19 1 0 0 FALSE FALSE TRUE
20 20 0 1 0 TRUE TRUE TRUE
对于每个过滤器,我想总结每个变量的总和,如下所示:
Filter Variable True False
1 Filter1 Var1 2 1
2 Var2 3 0
3 Var3 1 1
4 Filter2 Var1 1 2
5 Var2 2 1
6 Var3 1 1
7 Filter3 Var1 1 2
8 Var2 1 2
9 Var3 0 2
感谢您的帮助,非常感谢。
【问题讨论】:
-
仅供参考:您不需要所有这些
ifelse(runif(...))业务。查找?sample -
我不明白所需的逻辑。我统计了
Var1==1和Filter1==FALSE的8 个条目,以及Var1==1和Filter1==TRUE的4 个条目。