r - R中的向量索引
问题描述
我正在计算 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 的缺失值
谢谢你。
解决方案
我们可以使用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)
推荐阅读
- r - 线 + 多概率带状图
- javascript - TypeError:存储库方法不是函数(NestJS / TypeORM)
- python - 当数据既连续又离散时,如何使用 hmmlearn 处理(半)隐马尔可夫模型?
- node.js - 我可以使用 Typescript 在 Express 中使用 process.env.FOO 初始化静态只读类字段吗?
- c++ - Visual Studio 2019 C++ 对概念的支持 - 编译成功但出现错误:为什么?
- android - 我已将应用程序上传到 google play 商店。但它不支持设备华为和其他手机。会是什么呢?这是我的清单
- python - 如何通过字符串访问熊猫数据框?
- c++ - 如何正确分配和解除分配向量图
- flutter - 如何在 Flutter 中制作不换行的多行 TextField?
- javascript - 避免 vueJS 中的 props 突变