r - 计算 R 中类似直方图的数据的汇总统计
问题描述
我的数据是计数/直方图数据的形式,即向量列表,其中每个向量都有“值”,然后是“计数”:
[[1]]
[1] 1 34
[[2]]
[1] 2 233799
[[3]]
[1] 3 28129
[[4]]
[1] 4 42549
[[5]]
[1] 5 52264
这意味着,例如,得分 1 发生了 34 次,得分 2 发生了 233799 次等。
现在,我希望能够计算关于此数据的任意汇总统计信息,例如mean
、median
等sd
。但是,使用当前的数据格式是不可能的。我想知道是否有用于处理此类数据的函数、数据类型或包,这将允许我对这些数据应用通用统计信息。
我目前的 hacky 解决方法是重复第一个数字,计数n
在哪里:n
flatten_dbl(purrr::map(data, function(datum) {
# If the histogram has the coordinate 10, 20 it means we have seen the
# number 10, 20 times, so we duplicate 10, 20 times
rep(datum[[1]], datum[[2]])
}))
虽然这可行,并返回我可以应用统计信息的单个向量,但它非常慢且内存密集,因为向量最终有数百万个值。我想要一个不需要这个的解决方案。
解决方案
我无法找到现有的核心库或 CRAN 包来解决这个问题,所以我开发了HistDat
,可在 CRAN 上找到:https ://cran.r-project.org/package=HistDat
推荐阅读
- regex - Oracle SQL 和 PostgreSQL 之间的可选正则表达式替换
- c - 在 C 中打印整数的实际位表示
- javascript - ScrollTo 方法在 Edge 中不起作用
- html - 3个在页面中间具有相同大小和高度的内联框,应该是响应式的,对于移动视图,它显示与桌面相同
- qt - 如何在 Windows 下的 Qt 5.9 中启用 WebGL?
- ruby-on-rails - 从 ruby 的下拉列表中获取选定的选项
- python - python中的剥离函数/打印-为什么最后删除空格没有区别
- c# - Azure Functions 代理身份验证
- python - Django ORM:带有后续过滤的窗口函数
- javascript - 为什么这个嵌套的 ng-include 不会显示结果