首页 > 解决方案 > 数值向量列与数值列的比较

问题描述

我想计算同一行中向量 x 中 y 的出现。但是,我只能设法使用固定的 y(在我的示例中为 2)进行计算。

dt <- data.table(x = list(c(1,1,1,1,1),
                          c(2,2,2),
                          c(1, 2, 3, 4),
                          c(2, 2, 3, 3)),
                 y = c(2, 2, 3, 3))

dt[, occurrence := sapply(sapply(x, function(z) {z == 2}), mean)]

> dt
           x y occurrence
1: 1,1,1,1,1 2       0.00
2:     2,2,2 2       1.00
3:   1,2,3,4 3       0.25
4:   2,2,3,3 3       0.50

我怎样才能使这条线工作?

dt[, occurrence := sapply(sapply(x, function(z) {z == y}), mean)]

标签: rdata.table

解决方案


推荐阅读