我有一个数据集,并希望基于组({{}}获得高于一定阈值(在这种情况下,假设24,因此所有高于该值的值)的份额(V2
) {1}}。
V1
结果应如下所示:
V1 V2
A 25
A 23
A 25
B 25
B 25
C 15
C 15
D 0
D 0
理想情况下,我想在V1 share
A 0.666
B 1.0
C 0
D 0
答案 0 :(得分:1)
将mean
的数量中的V2
的数量V1
减去# Data
V1 <- c("A", "A", "A", "B", "B", "C", "C", "D", "D")
V2 <- c(25, 23, 25, 25, 25, 15, 15, 0, 0)
dt <- data.table(V1, V2)
dt[, .(share = mean(V2 >= 24)), by = V1]
# V1 share
#1: A 0.6666667
#2: B 1.0000000
#3: C 0.0000000
#4: D 0.0000000
NULLIF(end_date, '2000-01-01') - CURRENT_DATE