r - 如何拆分值的数据帧并在块上使用 rle?
问题描述
我正在尝试划分(不一定分成偶数块,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
任何帮助是极大的赞赏
解决方案
我们也可以使用tapply
as.vector(tapply(scores, ceiling(g/7), FUN = function(x) sum(rle(x)$values == 1)))
#[1] 2 2 0 1 1
推荐阅读
- .net-core - Azure 认知搜索 - 要求每个结果的最小匹配计数
- .net - MonoDevelop 无效的静态方法调用语法:“[MSBuild]::GetTargetFrameworkIdentifier('$(TargetFramework)'
- sql - 如何在linq中查询并检查传递的值是否为空
- algorithm - 给定矩形的坐标,将它们连接起来形成从头到尾的路径
- c++ - 无法在 Visual Studio (C++) 的 GLFW 项目中安装 ImGui
- dart - Flutter Web:无法使用 Google Drive API 获取授权客户端
- vue.js - 未捕获的类型错误:无法读取未定义 vue 的属性“位置”
- polygon - 使用带有 geotools 24.0 的形状文件数据存储加载多边形几何时出错
- pyinstaller - 是否有等效于使用 PyObjC 的“os.listdir()”方法?
- google-chrome - 如何从弹出窗口访问当前选项卡的 LocalStorage 和 Cookie