SAS如何对重复记录中的变量求和

SAS如何对重复记录中的变量求和,sas,duplicates,Sas,Duplicates,这里没有SAS用户。 我有一个包含patientID的医院数据集和一个计算入院和出院之间天数的变量 那些有一次以上住院的患者出现在同一位患者面前,并记录了他们每次住院的天数 我想计算每个患者住院的总天数,然后只有一个patientID记录,记录所有住院期间所有住院天数的总和。有人知道我会怎么做吗?您想选择distinct医院天数的和按患者分组这将得到您想要的: proc sql; create table want as select distinct patientID, sum(days_i

这里没有SAS用户。 我有一个包含patientID的医院数据集和一个计算入院和出院之间天数的变量

那些有一次以上住院的患者出现在同一位患者面前,并记录了他们每次住院的天数


我想计算每个患者住院的总天数,然后只有一个patientID记录,记录所有住院期间所有住院天数的总和。有人知道我会怎么做吗?

您想
选择distinct
医院
天数的
按患者分组
这将得到您想要的:

proc sql;
create table want as
select distinct
patientID,
sum(days_in_hospital) as sum_of_days
from have
group by patientID;
quit;

您想
选择distinct
医院
天数的
按患者分组
这将得到您想要的:

proc sql;
create table want as
select distinct
patientID,
sum(days_in_hospital) as sum_of_days
from have
group by patientID;
quit;

或者,您可以使用proc summary

proc summary data= hospital_data nway;
     class patientID;
     var days;
     output out=summarized_data (drop = _type_ _freq_) sum=;
run;

这将创建一个名为Summated_data的新数据集,该数据集包含每个patientID的合计天数。(nway选项删除整个摘要行,drop语句删除不需要的额外默认摘要列。)

或者,您可以使用proc summary

proc summary data= hospital_data nway;
     class patientID;
     var days;
     output out=summarized_data (drop = _type_ _freq_) sum=;
run;

这将创建一个名为Summated_data的新数据集,该数据集包含每个patientID的合计天数。(nway选项将删除整个摘要行,drop语句将删除不需要的额外默认摘要列。)

您是否尝试过使用class或ID的
Proc MEANS
?或者是带有分组ID的
Proc SQL
?如果您编码的内容有问题,请添加一些样本数据和您编写的代码。请直接提供可复制的样本数据,并说明您的问题所在。您是否尝试过使用类或ID的
Proc MEANS
?或者是带有分组ID的
Proc SQL
?如果您编码的内容有问题,请添加一些样本数据和您编写的代码。请直接提供可复制的样本数据,并说明您的问题所在。您不需要
distinct
关键字,因为查询包含
group by
子句。谢谢Tom,这是真的。您不需要使用
distinct
关键字,因为查询有
group by
子句。谢谢Tom,这是真的。