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

R语言dnorm命令参数添加咨询及原假设下产品B‘Medium’评级预期计数求解

计算卡方检验中原假设下产品B'Medium'类别的预期计数

首先得指出:你用dnorm(15)完全找错了方向——dnorm()是用来计算正态分布的概率密度值的,和列联表卡方检验的预期计数完全不相关,这就是你得不到正确结果的核心原因。

要解决这个问题,我们需要用卡方检验中预期计数的标准计算公式:每个单元格的预期计数 = (该行的总计 × 该列的总计) / 总样本量。

接下来一步步用R实现计算:

1. 确认矩阵结构

你的矩阵定义是正确的,先运行这段代码确保数据无误:

mat <- matrix(c(24, 21, 14, 12, 15, 22, 15, 26, 24), ncol = 3, byrow = TRUE)
colnames(mat) <- c("Low","Medium","High")
rownames(mat) <- c("A","B","C")

2. 计算预期计数(两种方法可选)

方法一:手动分步计算

这种方式能让你清晰看到每一步的逻辑:

# 计算每行的总和(产品B的行总和对应row_totals["B"])
row_totals <- rowSums(mat)
# 计算每列的总和(Medium列的总和对应col_totals["Medium"])
col_totals <- colSums(mat)
# 计算总样本量
total_observations <- sum(mat)

# 计算产品B Medium类别的预期计数
expected_B_medium <- (row_totals["B"] * col_totals["Medium"]) / total_observations
expected_B_medium

运行后会得到结果≈17.56,四舍五入后就是选项里的17.6。

方法二:用chisq.test()一键获取所有预期值

R的chisq.test()函数会自动计算所有单元格的预期计数,你可以直接提取目标值:

# 运行卡方检验(若单元格预期值过小会弹出警告,但不影响我们提取结果)
chi_test <- chisq.test(mat)
# 查看所有单元格的预期计数矩阵
chi_test$expected

输出矩阵中,B行Medium列的数值就是我们需要的结果,和手动计算完全一致。

匹配选项

你的选项里17.6正好对应计算结果,这就是正确答案。

内容的提问来源于stack exchange,提问作者Henrik.A

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 18:22:36