SAS中的列联表

SAS中的列联表,sas,Sas,我有一些学生两年的考试成绩数据。我有一个写着年份、学生姓名和分数的专栏。有些学生在第二年没有出现,因为他们在第二年没有参加任何考试。我想展示学生的表现是否持续,或者在他们随后的表现中是否有任何模式。我可以将数据分成大小相等的两半,以说明“上半部分”和“下半部分”标记。我还可以根据考试结果使用“proc rank”将前半部分划分为五等分 我知道我想要的输出是一个5 X 5的表,它在一个轴上有原始的5个五分位数,以及随后的5个五分位数加上一个“退出”类别,因此是一个5 X 6矩阵。很明显,在第一次考

我有一些学生两年的考试成绩数据。我有一个写着年份、学生姓名和分数的专栏。有些学生在第二年没有出现,因为他们在第二年没有参加任何考试。我想展示学生的表现是否持续,或者在他们随后的表现中是否有任何模式。我可以将数据分成大小相等的两半,以说明“上半部分”和“下半部分”标记。我还可以根据考试结果使用“proc rank”将前半部分划分为五等分

我知道我想要的输出是一个5 X 5的表,它在一个轴上有原始的5个五分位数,以及随后的5个五分位数加上一个“退出”类别,因此是一个5 X 6矩阵。很明显,在第一次考试中,每五分之一组的学生总数将占到20%左右,如果没有关系,那么在随后的6个类别中,每一个类别的学生总数将达到16.67%。但我不知道如何继续证明这是否是没有数据的情况

请问,我怎样才能在SAS做这件事呢?有人能告诉我一个好的教程,说明如何设置它吗?我一直在寻找诸如“性能持久性”等术语,但没有用

我一直在这样设置我的数据集。我使用下面的第一个过程为数据的前半部分或后半部分添加了一列0或1。我还添加了一个列,根据所有学生的分数,列为五等分。但我想我走错了方向。我不应该把数据分成每一半的五分位数,而不是整个两个时期吗

Proc rank groups=2;
      var yearquarter;
 ranks ExamRank;
run;

Proc rank groups=5;
      var percentageResult;
      ranks PerformanceRank;
run;

提前感谢。

这里是一个简单制表的基本示例。我把你的五分位数数据转换成一个表。这里基本上没有关系,除了我只允许5%的DNF,所以你有19%19%19%19%19%5%

data have;
do i = 1 to 10000;
  do year = 1 to 2;
    if year=2 and ranuni(7) < 0.05 then call missing(quintile);
    else quintile = ceil(5*ranuni(7));
    output;
  end;
end;
run;

proc transpose data=have prefix=year out=have_t;
by i;
var quintile;
id year;
run;


proc tabulate data=have_t missing;
class year1 year2;
tables year1,year2*rowpctn;
run;

为什么要将数据划分为五分位数

我会让分数保持原样,然后用它做一个散点图

PROC SGPLOT data = dataset;
 x = year1;
 y = year2;
 loess x = year1 y = year2;
run;

我不太确定。命令行版本。两者都可以用相同的方式编辑。SAS/IML是矩阵语言(与R类似)。基本SAS有数据集,但没有矩阵。我理解。我是SAS的初学者,因此我更喜欢使用一些PROC函数,而不是使用SAS/IML在matrix algrebra中一步一步地完成。谢谢您的回答。这种分析到底是什么?它是一个交叉表,一个列联表还是它到底是什么?为了扩展分析,我需要阅读更多关于这方面的内容。我的表格是一个交叉表格,但它是一个列联表格。就你的分析而言,我不是很确定;你肯定在建立一个列联表,但我不确定你到底想分析什么。您可以在stats stackexchange中询问,也可以在SAS Listserv上询问(sasl@listserv.uga.edu)以获得更注重统计的建议。
PROC SGPLOT data = dataset;
 x = year1;
 y = year2;
 loess x = year1 y = year2;
run;