我有两个输出模型:
output out=m1 pred=p1;
output out=m2 pred=p2;
它们运行良好,并创建以下样本观察值:
M2的样本
Obs p1
1 0.98057
2 0.71486
3 0.91951
4 0.93073
5 0.93505
6 0.98788
7 0.94461
8 0.99449
9 0.93282
10 0.88654
AND
M1的样本
Obs p2
1 0.97988
2 0.70704
3 0.91731
4 0.92880
5 0.93324
6 0.98746
7 0.94386
8 0.99431
9 0.93102
10 0.88404
接下来,我尝试将这两个语句合并为一个表:
proc sql;
create table ptable as select *
from m1 as a left join m2 as b on a.cnt=b.cnt;
quit;
但是我收到此错误: 错误:在用相关名称A标识的表/视图中找不到列cnt。 错误:在用相关名称A标识的表/视图中找不到列cnt。 错误:在用关联名称B标识的表/视图中找不到列cnt。 错误:在以关联名称B标识的表/视图中找不到cnt列。
那么如何将p1和p2放入SAS的表中?
下面是用于生成p1和p2的代码,其中DATA =源
/*initial model*/
proc hplogistic data=DATA;
model value(event='1')=X1-X20;
output out=m1 pred=p1;
run;
/*new model*/
proc hplogistic data=data;
model value(event='1')=X1-X20;
output out=m2 pred=p2;
run;
答案 0 :(得分:0)
这是在没有<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.11/lodash.min.js"></script>
语句的情况下执行合并 的情况。这些表将逐行连接。
例如
by
没有BY的合并在 I 通常执行的数据处理中是不典型的。
答案 1 :(得分:0)
这是贯穿整个过程的答案:
/*initial model*/
proc hplogistic data=DATA;
model value(event='1')=X1-X20;
output out=m1 pred=p1 copyvars=(cnt readmit);
run;
/*new model*/
proc hplogistic data=data;
model value(event='1')=X1-X20;
output out=m2 pred=p2 copyvar=cnt;
run;
cnt必须包含在输出中才能加入表中。