【发布时间】:2019-05-23 21:15:16
【问题描述】:
我正在尝试划分(不一定分成偶数块,bc 实际数据可能会有所不同)一列称为分数(.csv 文件)的整数,然后计算连续值(x 选择值,例如 1)在每个分割的部分或连续值的平均长度。 rle 一切皆有可能。
我可以使用 split 轻松拆分整数列,但这似乎与 rle 不兼容(可能 bc split 会生成一个列表)。我寻找 rle 的解决方案和/或替代方案,但没有提出任何建议。
示例分数
scores <- c(1, 1, 2, 2, 1, 1, 2, 1, 1, 1, 1, 2, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1)
拆分它们
g <- seq_along(scores)
scores.div <- split(scores, ceiling(g/7))
我尝试过但没有用的示例
Scores.rle <- sapply(scores.div, function(x) {
r <- rle(x)
sum(r$values == 1)
})
我希望有这样的输出:
2 2 0 1 1
非常感谢任何帮助
【问题讨论】:
-
输出结果如您所愿。致电
unname(Scores.rle)删除姓名。
标签: r list split run-length-encoding