我们可以得到'df1'的列明智总和colSums
.识别已经的"x"的元件:
使用grep
.然后,我们split
基于索引('i1')的'x'列,每个list
元素中的'df1'列的子集,使用Reduce
,&
以便我们只有TRUE
当同一行中的所有元素都是1 时才获得.获取sum
,和根据创建的'v1'对象创建'count'列.
v1 <- colSums(df1) i1 <- grep(':', df2$x) v1[i1] <- sapply(strsplit(as.character(df2$x[i1]), ':'), function(x) sum(Reduce(`&`,df1[x]))) df2$count <- v1