Sas 计算每个问题的正确率

Sas 计算每个问题的正确率,sas,Sas,您好,我正在尝试计算每个问题编号的正确百分比,其中值为1的分数是正确答案。我需要按表格分开,这意味着表格A上的问题1和表格B上的问题1应该有不同的百分比。我用一个叫做onetable的表格来计算这些百分比,看起来有点像这样 形式 问题编号 分数 A. 1. 0 A. 1. 0 B 1. 1. B 2. 1. 是,proc freq正确 data have; input Form$ Question Score; cards; A 1 0 A 1 0 B 1 1 B 2 1 B 2 0 ;

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

形式 问题编号 分数 A. 1. 0 A. 1. 0 B 1. 1. B 2. 1.
是,
proc freq
正确

data have;
  input Form$ Question Score;
  cards;
A 1 0
A 1 0
B 1 1
B 2 1
B 2 0
;
run;

proc sort;
  by Form;
run;

proc freq;
  by Form;
  tables Question*Score/out=want outpct;
run;

将有3种百分比,它们以不同的方式计算。找到你想要的,以后再使用。您还可以在斜杠后指定
norow
nocol
nocum
选项,以禁止显示您不想要的内容。

如果您只有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-平均