在R中查找子向量的长度

时间:2014-05-19 08:09:36

标签: r vector subset

给出以下向量:

signal <- c(0011100110)

我想找到一种计算平均信号长度的方法。这里第一个信号的长度为3(111),第二个信号的长度为2.然而,我无法找出将原始矢量子集化为仅包含1的子向量的好方法,这样我就可以计算它们的平均值。长度。

2 个答案:

答案 0 :(得分:3)

您可以使用此方法查找平均信号长度:

signal <- 0011100110

mean(nchar(strsplit(as.character(signal), "0+")[[1]]))
# [1] 2.5

答案 1 :(得分:1)

另一种方法是使用match.length的{​​{1}}属性:

gregexpr