Sas Limit Proc表示仅输出完整的行
我有一个简单的proc-means过程,我希望将输出限制为仅完成行Sas Limit Proc表示仅输出完整的行,sas,Sas,我有一个简单的proc-means过程,我希望将输出限制为仅完成行 data test_dat; input group $ subgroup $ time variable1 variable2; cards; A xxxx 1 100 2.50 A xxxx 2 200 2.50 A xxxx 3 300 2.50 A xxxx 4 100 3.00 A zzzz 1 500 1.00 A zzzz 2 450
data test_dat;
input group $ subgroup $ time variable1 variable2;
cards;
A xxxx 1 100 2.50
A xxxx 2 200 2.50
A xxxx 3 300 2.50
A xxxx 4 100 3.00
A zzzz 1 500 1.00
A zzzz 2 450 1.00
A zzzz 3 700 1.50
A zzzz 4 600 1.50
B yyyy 1 200 4.00
B yyyy 2 100 5.00
B yyyy 3 300 4.00
B yyyy 4 250 5.00
;
run;
proc means data=test_dat mean sum;
class group subgroup;
var variable2 variable1;
output out=stuffout(drop=_type_ _freq_ dropme ohheidropme2plz) mean=variable2_mean dropme sum=ohheidropme2plz variable1_sum;
run;
默认情况下,proc的意思是给我9行输出,而我只需要3行7-9。我知道我可以执行另一个数据步骤来消除这些行,但我知道必须有一种更优雅的方法。ps它并不总是第7-9行,所以这不是一个通用的解决方案
谢谢看起来您需要的是proc means nway选项。请看这里: 通过使用types或ways语句,也可以获得相同的结果
在这里,您可以使用方法2,也就是说,显示所有可能的类变量对的组合。关键字nway只是指定ways=n,其中n是您拥有的类变量的数量。默认情况下,proc means包括表示总计的所有可能行,例如组变量给定值的总和和平均值,而不考虑子组变量。方法2指定您只对正好有两个类变量的行感兴趣,在本例中,这两个变量都是这些行。看起来您要查找的是proc means nway选项。请看这里: 通过使用types或ways语句,也可以获得相同的结果
在这里,您可以使用方法2,也就是说,显示所有可能的类变量对的组合。关键字nway只是指定ways=n,其中n是您拥有的类变量的数量。默认情况下,proc means包括表示总计的所有可能行,例如组变量给定值的总和和平均值,而不考虑子组变量。方法2指定您只对正好有两个类变量的行感兴趣,在本例中,这两个变量都是这些行。另一个有趣的选项是类型[,它允许您选择所有可能的变量组合感谢Nate。这正是我所需要的。nway选项比ways 2更适合我,因为我并不总是知道宏加载了多少类变量。我尝试过按类型执行where语句,但不够笼统。谢谢大家。另一个有趣的选项是types[,它允许您选择所有可能的变量组合感谢Nate。这正是我所需要的。nway选项比ways 2更适合我,因为我并不总是知道宏加载了多少类变量。我尝试过按类型执行where语句,但不够笼统。谢谢大家。
proc means data=test_dat mean sum nway;
class group subgroup;
var variable2 variable1;
output out=stuffout(drop=_type_ _freq_ dropme ohheidropme2plz) mean=variable2_mean dropme sum=ohheidropme2plz variable1_sum;
run;