El script comienza con la creación de una tabla `SocEcon` que contiene cinco variables socioeconómicas a través de un paso DATA. Luego procede al cálculo de una matriz de correlación con `PROC CORR`. Una segunda tabla de tipo CORR también se crea manualmente. El núcleo del análisis se basa en `PROC REG`, que se utiliza dos veces: primero para ajustar dos modelos de regresión y guardar sus estimaciones y covarianzas (`OUTEST=regest COVOUT`), y luego para generar la matriz de sumas de cuadrados y productos cruzados (`OUTSSCP=regsscp`). Las tablas de resultados intermedias (`corrcorr`, `datacorr`, `regest`, `regsscp`) se muestran con `PROC PRINT` para su inspección.
Análisis de datos
Type : CREATION_INTERNE
Las dos tablas de datos utilizadas, `SocEcon` y `datacorr`, se crean dentro del script utilizando la instrucción `datalines`. No se necesita ninguna fuente de datos externa.
1 Bloque de código
DATA STEP Data
Explicación : Este bloque DATA STEP crea la tabla de trabajo `SocEcon`. Lee 12 observaciones para 5 variables socioeconómicas (Pop, School, Employ, Services, House) directamente desde el código utilizando la instrucción `datalines`.
title2 'Harman (1976), Modern Factor Analysis, Third Edition';
3
4
DATA SocEcon;
5
INPUT Pop School Employ Services House;
6
DATALINES;
7
570012.8250027025000
8
100010.96001010000
9
34008.81000109000
10
380013.6170014025000
11
400012.8160014025000
12
82008.326006012000
13
120011.44001016000
14
910011.533006014000
15
990012.5340018018000
16
960013.7360039025000
17
96009.633008012000
18
940011.4400010013000
19
;
20
2 Bloque de código
PROC CORR Data
Explicación : El procedimiento `PROC CORR` calcula la matriz de correlación para todas las variables numéricas de la tabla `SocEcon`. La opción `noprint` suprime la visualización en la salida estándar, y `out=corrcorr` guarda los resultados en una nueva tabla llamada `corrcorr`. Esta tabla se muestra luego con `PROC PRINT` y su estructura se inspecciona con `PROC CONTENTS`.
Explicación : Este DATA STEP crea manualmente una tabla SAS especial de tipo CORR llamada `datacorr`. Este tipo de tabla puede ser utilizado como entrada por otros procedimientos estadísticos. Los datos de la matriz de correlación se leen desde las `datalines`. La tabla resultante se muestra con `PROC PRINT`.
¡Copiado!
title 'Five Socioeconomic Variables';
data datacorr(type=corr);
infile cards missover;
_type_='corr';
input _Name_ $ Pop School Employ Services House;
datalines;
Pop 1.00000
School 0.00975 1.00000
Employ 0.97245 0.15428 1.00000
Services 0.43887 0.69141 0.51472 1.00000
House 0.02241 0.86307 0.12193 0.77765 1.00000
;
proc print data=datacorr;
run;
1
title 'Five Socioeconomic Variables';
2
3
DATA datacorr(type=corr);
4
INFILECARDS missover;
5
_type_='corr';
6
INPUT _Name_ $ Pop School Employ Services House;
7
DATALINES;
8
Pop 1.00000
9
School 0.009751.00000
10
Employ 0.972450.154281.00000
11
Services 0.438870.691410.514721.00000
12
House 0.022410.863070.121930.777651.00000
13
;
14
15
PROC PRINTDATA=datacorr;
16
RUN;
4 Bloque de código
PROC REG Data
Explicación : Este procedimiento `PROC REG` realiza dos análisis de regresión lineal sobre la tabla `SocEcon`. Los resultados (estimaciones de los parámetros) se almacenan en la tabla `regest` gracias a `outest=regest`. La opción `covout` incluye la matriz de covarianza de las estimaciones. Se especifican los dos modelos, 'full' y 'empser'. La tabla de resultados `regest` se imprime a continuación.
¡Copiado!
proc reg data=SocEcon outest=regest covout;
full: model house=pop school employ services / noprint;
empser: model house=employ services / noprint;
quit;
proc print data=regest;
run;
1
PROC REGDATA=SocEcon outest=regest covout;
2
full: model house=pop school employ services / noprint;
3
empser: model house=employ services / noprint;
4
QUIT;
5
6
PROC PRINTDATA=regest;
7
RUN;
5 Bloque de código
PROC REG Data
Explicación : Una segunda ejecución de `PROC REG` se utiliza para generar la matriz de sumas de cuadrados y productos cruzados (SSCP) para las variables del modelo. El resultado se almacena en la tabla `regsscp` a través de la opción `outsscp=regsscp`. La tabla `regsscp` se muestra a continuación para verificación.
¡Copiado!
proc reg data=SocEcon outsscp=regsscp;
model house=pop school employ services / noprint;
quit;
proc print data=regsscp;
run;
1
PROC REGDATA=SocEcon outsscp=regsscp;
2
model house=pop school employ services / noprint;
3
QUIT;
4
5
PROC PRINTDATA=regsscp;
6
RUN;
Este material se proporciona "tal cual" por We Are Cas. No hay garantías, expresas o implícitas, en cuanto a la comerciabilidad o idoneidad para un propósito particular con respecto a los materiales o el código contenidos en este documento. We Are Cas no es responsable de los errores en este material tal como existe ahora o existirá, ni We Are Cas proporciona soporte técnico para el mismo.
SAS y todos los demás nombres de productos o servicios de SAS Institute Inc. son marcas registradas o marcas comerciales de SAS Institute Inc. en los EE. UU. y otros países. ® indica registro en los EE. UU. WeAreCAS es un sitio comunitario independiente y no está afiliado a SAS Institute Inc.
Este sitio utiliza cookies técnicas y analíticas para mejorar su experiencia.
Saber más.