尝试同时打印中位数和平均值,但我不断收到此错误
警告:文件WORK.STATEE1_MARGINS上已存在可变边距。
警告:重复变量不会包含在输出语句的输出数据集中 1号。
proc means data = state1 noprint mean median nway missing;
class ndc;
var margin;
output out = state1_margins (drop = _type_) median= mean=;
run;
我只想要一个输出集,其中一列中位数,另一列中指中位数。我不应该用一个proc来做这个吗?
答案 0 :(得分:1)
你需要告诉它两个变量的名称。
proc means data = state1 noprint mean median nway missing;
class ndc;
var margin;
output out = state1_margins (drop = _type_) median= mean= /autoname autolabel;
run;
Autoname告诉它使它成为_,这通常很好。您也可以明确指定。 Autolabel告诉它也要将统计数据添加到标签中。
proc means data = state1 noprint mean median nway missing;
class ndc;
var margin;
output out = state1_margins (drop = _type_) median=median_m mean=mean_m;
run;
或者你喜欢什么。
答案 1 :(得分:1)
那是因为你没有指定输出变量。如果只输入=而没有输出变量的名称,它将默认采用您应用操作的变量的名称。
仅请求1个统计信息时没问题。但是你要求2.
因此,首先他创建可变保证金以包含中位数保证金
但是,它会尝试创建可变边距以包含均值。但它已经存在了!
因此,要解决您的问题,请为输出变量指定不同的名称,例如:
proc means data = state1 noprint mean median nway missing;
class ndc;
var margin;
output out = state1_margins (drop = _type_) median=median_margin mean=mean_margin;
run;