如果事件发生,我会计算,如果发生了事件,它会产生任何后果。我们假设这是我的数据
#mydata
a b c d consequence
0 0 1 1 0
1 0 1 1 1
1 1 1 0 0
0 0 0 1 0
因此,对于每个变量,我计算变量出现的次数以及此变量导致结果的次数:" a"
的示例 numberofa=length (subset(mydata, mydata$a==1))
numberofaeffective= Length (subset(mydata, mydata$a==1 $ mydata$consequence=1))
如何编写程序来计算每个变量的这两个指标?
#expected output
variable count count-with-effect
a 2 1
b 1 0
c 3 1
d 3 1
答案 0 :(得分:1)
我们可以使用sum
逻辑向量
sum(dts$a==1)
#[1] 2
和
with(dts, sum(a==1 & consequence == 1))
#[1] 1
如果我们需要每个变量(例如' a'到' d')
colSums(dts[1:4] == 1)
# a b c d
# 2 1 3 3
和第二个'结果'
colSums(dts[1:4] == 1 & (dts[5] == 1)[row(dts[1:4])])
#a b c d
#1 0 1 1
如果我们需要采用特定格式,我们可以gather
将数据集summarise
变为“长”。格式,然后按操作进行分组,sum
按library(dplyr)
library(tidyr)
gather(dts, variable, value, -consequence) %>%
group_by(variable) %>%
summarise(count = sum(value), count_with_effect = sum(value & consequence))
# variable count count_with_effect
# <chr> <int> <int>
#1 a 2 1
#2 b 1 0
#3 c 3 1
#4 d 3 1
进行“&#39;值&#39;柱
do {
b = keypad.getKey();
} while (b = NO_KEY);