首页 > 解决方案 > 计算每个问题的正确百分比

问题描述

嗨,我正在尝试计算每个问题编号的正确百分比,其中值为 1 的分数是正确答案。我需要按表格将其分开,这意味着表格 A 上的问题 1 和表格 B 上的问题 1 应该有不同的百分比。我正在使用一个名为 onetable 的表格计算这些百分比,该表格看起来像这样

形式 问题编号 分数
一种 1 0
一种 1 0
1 1
2 1

该表实际上看起来像表格 A 和 QuestionNumber 的许多行,其值为 1,得分为 1 或 0,然后是 Form A 的许多行, QuestionNumber 值为 2,这适用于 150 QuestionNumbers 直到它变成 Form B 并且做同样的事情。

我想我可能需要使用 proc freq 或其他东西,但我不知道到底要使用什么,所以我没有任何我认为有用的代码。有人有建议吗?下面是我正在尝试创建的那种表。

形式 问题编号 问题百分比
一种 1 0.16
一种 2 0.76
一种 3 0.42
一种 4 0.94

标签: sas

解决方案


如果您只有 0/1 的 PROC MEANS 是汇总数据的好方法。

二进制变量的 % 等于值的平均值。

(Count of X = 1) / (Count of X in (0,1)) => sum(X) / N(x) => Mean(x)

像这样的东西可能也适合你:

proc means data=have mean stackods;
class form question;
var score;
ods output summary = want;
run;

proc print data=want;
format mean percent12.1;
run;

如果您出于某种原因想要计算 0 而不是 1,那么您将在第二步中执行 1-mean。


推荐阅读