【问题标题】:Vector Indexing in RR中的向量索引
【发布时间】:2020-01-23 00:35:35
【问题描述】:

我正在计算 10 个数字序列中有多少个连续的 0 或 1。
例如 0 0 1 0 1 1 0 1 0 1 1 1
有 4 个(00、11、11、11)。

这是我的代码。

c <- floor(2 * runif(10))
count = 0

for (i in 1:length(c)) {
        a = c[i] 
        b = c[i+1]
        if (a == b) {
             count = count + 1
    }
    count
    }

错误:if (a == b) {:需要 TRUE/FALSE 的缺失值

谢谢。

【问题讨论】:

  • 在循环结束时,bc[length(c) + 1],它将返回 NA,因为您正在尝试访问长度为 10 的向量中的第 11 个数字。

标签: r


【解决方案1】:

我们可以使用rle

with(rle(x), sum(lengths[lengths > 1] - 1))
#[1] 4

数据

x <- c(0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-04-20
    • 1970-01-01
    • 2021-08-17
    • 2016-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多