use*_*544 3 counter r vector
我有一个二进制向量,我想要计算我有多少1个序列.所以如果我有一个像这样的矢量:
bin <- c(1,1,0,1,1,1,1,0,0,0,1,0,1,1,0,0,1,1,1)
我会的5.我还没有找到任何可以做到这一点的现有功能,任何人都有一个关于如何写一个的好的技巧?当序列都有不同的长度时,我不知道如何构建"计数器".
5
Sim*_*lon 7
为此构建了运行长度编码函数(rle).在帮助计算向量中相等值的运行长度时,它会返回带有值的长度.所以使用. rle( bin )
rle
rle( bin )
将$values输出与您想要的值(1)==和sum结果进行比较(因为您得到一个TRUE或1L当值的运行时间为1s):
$values
1
==
sum
TRUE
1L
sum( rle(bin)$values == 1 ) [1] 5
归档时间:
11 年,8 月 前
查看次数:
1139 次
最近记录: