gpt4 book ai didi

r - 如何拆分值的数据帧并在 block 上使用 rle?

转载 作者:行者123 更新时间:2023-12-02 04:26:35 25 4
gpt4 key购买 nike

我正在尝试划分(不一定要分成偶数 block ,因为实际数据可能会有所不同)单列整数称为分数(.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

非常感谢任何帮助

最佳答案

我们也可以使用tapply

as.vector(tapply(scores, ceiling(g/7), FUN = function(x) sum(rle(x)$values == 1)))
#[1] 2 2 0 1 1

关于r - 如何拆分值的数据帧并在 block 上使用 rle?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53917982/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com