You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何对列联表的对角线数值求和并计算其占比?

解决方案

首先把生成的列联表赋值给变量,方便后续操作:

a = c(1, 3, 4)
b = c(2, 3, 5)
a_b = data.frame(a, b)
lvls <- sort(unique(unlist(a_b)))
# 将列联表存入变量tab
tab <- table(lapply(a_b, factor, levels = lvls))

1. 计算对角线数值之和

用diag()提取列联表的对角线元素,再求和:

diag_sum <- sum(diag(tab))
# 输出结果:1

2. 计算对角线和的占比

占比为对角线和除以列联表的总观测数(sum(tab)等价于原始数据的行数):

diag_ratio <- diag_sum / sum(tab)
# 输出结果:1/3 ≈ 0.3333333

如果需要保留两位小数,可使用round()函数:

round(diag_ratio, 2)
# 输出结果:0.33

内容的提问来源于stack exchange,提问作者miguel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 06:05:29