当变量位于不同列中时,使用SAS执行t检验

当变量位于不同列中时,使用SAS执行t检验,sas,Sas,我有如下数据。 我想知道当我想要比较的变量在不同的列中时,如何运行t检验 +---------+------------+----------+-------------+-------------+----------------+ | Case_id | Control_id | case_age | control_age | case_result | control_result | +---------+------------+----------+-------------+--

我有如下数据。 我想知道当我想要比较的变量在不同的列中时,如何运行t检验

+---------+------------+----------+-------------+-------------+----------------+
| Case_id | Control_id | case_age | control_age | case_result | control_result |
+---------+------------+----------+-------------+-------------+----------------+
|       1 |         50 |       24 |          24 |          23 |             12 |
|       1 |         52 |       24 |          24 |          23 |             10 |
|       2 |         65 |       27 |          27 |          24 |             15 |
|       2 |         70 |       27 |          27 |          24 |             14 |
+---------+------------+----------+-------------+-------------+----------------+
SAS教程说明了运行t测试的以下语法。但是在我的例子中,我没有一个类变量来区分案例和控件。有没有办法告诉SAS比较两个变量
case\u result
control\u result

proc ttest data;
   class Gender;
   var Score;
run;

如果您想比较两个变量,可以通过以下方式进行:

proc compare base=libname.dataset allstats briefsummary;    
       var var1;
       with var2;
       title 'Comparison two variables';
run;
要对两个变量的差异进行测试(成对比较)


是否有方法执行非参数测试。”PROC NPAR1WAY'用于类似结构的数据。我查看了文档,没有找到任何方法提及两个不同的变量。它需要一个class语句class语句是必需的,您可以在var中指定一个或多个变量。如果您省略var语句,则npairway shud分析数据集中与任何类匹配的所有数值变量或by。
proc ttest data=libname.dataset;
   paired var1*var2;
run;