2016-03-21 9 views
1

Hat jemand einen manuellen Code erstellt, um einen Datensatz mit Ergebnissen von proc glm in SAS zu bewerten?Scoring in SAS 9.2

Hinweis: In dieser Studie gibt es zwei verschiedene Programme mit 3 Versionen von zwei verschiedenen Programmen. X01 X02 X03 Y01 Y02 Y03

proc glm data=maindata; 
class program_group; 
model program_score = prog_group TOBACCO DRUGS ALCOHOL age_on_admit 
         yrs_in_program stand_test_score 
        /solution ss1 ss3; 
     format program_group $program_group. 
; 
output out = results predicted=phat r=resid; 
ods output parameterestimates = out.program_test_year1; 
run; 

Muss ich Dummy-Variablen für die 6 verschiedenen Programmgruppen erstellen müssen, wenn ich proc GLM laufen, wenn ich einen anderen in den Parameterschätzungen manuell und Score zu lesen beabsichtigen Datensatz?

+0

Warum? Es gibt PROC SCORE und mehrere andere Möglichkeiten ... http: //blogs.sas.com/content/iml/2014/02/19/scoring-a-regression-model-in-sas.html – Reeza

Antwort

2

EDIT: Da Sie SAS 9.2 haben, sollten Sie PROC SCORE verwenden. Ein weiterer Trick besteht darin, Ihre Daten in die Modelldaten aufzunehmen und den y/abhängigen Wert leer zu lassen. Wenn Sie eine Ergebnismenge der gewerteten Daten erhalten, werden Ihre zusätzlichen Daten ebenfalls bewertet. Sie können dies über OUTPUT out=want p=predicted;

erhalten Es gibt PROC SCORE und mehrere andere Möglichkeiten. Die CODE-Anweisung ist neu und zu wenig verwendet - wahrscheinlich, was Sie suchen.

proc glm data=A noprint; 
model y = x | x | x; 
code file='glmScore.sas'; 
quit; 

data Pred; 
set ScoreX; 
%include 'glmScore.sas'; 
run; 

eine Liste von Möglichkeiten Siehe hier aufgeschlüsselt: http://blogs.sas.com/content/iml/2014/02/19/scoring-a-regression-model-in-sas.html