如何在多组数据中,选择二者结局不同可相互对照的的组别?

我有一组数据,如下,我想请问如何用SAS筛选一组匹配数据中,结局不同的那组呢?也就是说我想要第二组这种结局不同可相互对照的组别?SAS不太可行的话,Excel可以吗?谢谢!
编号 结局
1 0
1 0
2 0
2 1
3 1
3 1

您可以使用SAS或Excel进行数据筛选,具体步骤如下:

SAS:

将数据导入SAS中,以逗号或空格分隔。
使用PROC SORT对数据进行排序,以确保编号的相邻行在一起。
使用DATA步骤来创建一个新的数据集。将编号和结果列分组,使用BY语句。
使用FIRST.和LAST.自动变量来确定组中的第一个和最后一个行,通过比较结果列的值,确定结局不同的那组。输出结果。
下面是一个例子:


PROC SORT data = input_dataset;
    BY ID Result;
RUN;

DATA output_dataset;
    SET input_dataset;
    BY ID Result;

    IF first.ID THEN do;
        retain Result_value Result;
    end;

    IF last.ID THEN do;
        IF Result ne Result_value THEN OUTPUT;
    end;
RUN;

Excel:

将数据导入Excel中,打开筛选功能。
在“数据”选项卡中,点击“筛选”按钮。
单击编号列标题上的下拉箭头,选择“排序最小到最大”。
单击结果列标题上的下拉箭头,选择“排序最小到最大”。
选择编号列标题的下拉菜单,选择“筛选”。
在“筛选”窗口中,选择“高级”。
在“高级筛选”窗口中,选择“复制到其他位置”并选择一个新的工作表和单元格。
在“高级筛选”窗口中,设置条件,以仅显示具有不同结果的行。
单击“确定”按钮以应用筛选并查看结果。
注意:这些步骤是基于Excel 2016,可能在其他版本中略有不同。

以下答案引用自GPT-3大模型,请合理使用:

。

如果你只想筛选出不同的结局,并且能够互相对照的组合,我认为使用SAS会比较简单。

首先,使用SAS筛选步骤如下:

1. 将编号和结局数据存储在一个数据帧中,例如:mydata。

2. 用以下语句创建一个新变量,标志哪些组合是一致的,这个变量可以称为match_status:

data mydata; 
set mydata; 
if result1=result2 then match_status='same'; 
else match_status='different'; 
run;

3. 筛选出结局不同的组合:

proc sql; 
select * 
from mydata 
where match_status='different'; 
quit;

这样,就可以得到一组带有不同结局的组合的数据集了。

 如果要使用Excel来实现这个功能,可以使用VLOOKUP函数,但是要比SAS更加复杂一些。

如果我的回答解决了您的问题,请采纳我的回答