r - 如何计算 R tibble 中列表的平均值?
问题描述
假设我有 R tibble
df <- tibble(
name = c("x", "y"),
prob = list(c(1,2,3), c(4,5,6))
)
如何计算“概率”字段的平均值。
预期结果是一个列表,其值为 c((1+4)/2, (2+5)/2, (3+6)/2) => c(2.5, 3.5, 4.5)
解决方案
用于Reduce
获取元素加法并将其除以数据框中的行数。
Reduce(`+`, df$prob)/nrow(df)
#[1] 2.5 3.5 4.5
rowMeans
和的其他替代方案colMeans
。
colMeans(do.call(rbind, df$prob))
rowMeans(do.call(cbind, df$prob))
推荐阅读
- mysql - 包含字母字符的 MySQL 选择查询
- coq - 建立树并减少修复参数
- django - 如何以表格形式呈现模型,并使用 django 使用复选框选择其中一些?
- netbeans - netbeans 可以和 noip 一起使用才能远程登录吗?
- php - phpenmod 显示来自其他 php 版本的路径
- c++ - 如何从 C++ 代码启动 IE 并在网页更改后能够获取 html 数据
- regex - 以不规则模式拆分(正则表达式)SCALA
- ios - Apple 是否允许使用套接字在两个 iOS 应用程序之间进行通信?
- php - 在 WooCommerce 管理订单列表页面中按产品发布类型过滤订单
- eclipse-che - 在 Kubernetes 中运行 Eclipse Che 7 beta 4