El programa comienza creando varios conjuntos de datos (advisees, advisees_2012, advisees_2013, advisees_2014) utilizando pasos DATA con instrucciones DATALINES para generar datos internos. Luego utiliza PROC APPEND para fusionar estos conjuntos de datos de diferentes maneras. El primer 'append' es simple, con estructuras de variables idénticas. El segundo 'append' introduce un conjunto de datos (advisees_2013) sin la variable 'gender', ilustrando cómo PROC APPEND maneja las variables faltantes en el conjunto de datos de adición (rellenándolas con valores faltantes en las nuevas observaciones). Los últimos ejemplos muestran la adición de un conjunto de datos (advisees_2014) que contiene una variable adicional ('program') no presente en el conjunto de datos base. Un primer intento sin la opción FORCE resultará en la ignorancia de esta nueva variable. El segundo intento, utilizando la opción FORCE, añade la nueva variable al conjunto de datos base y la rellena con valores faltantes para las observaciones existentes, luego añade las nuevas observaciones con sus valores para esta variable. Se incluyen PROC PRINT para visualizar los resultados en cada etapa.
Análisis de datos
Type : CREATION_INTERNE
Todos los datos utilizados en este script se crean internamente mediante bloques DATA STEP e instrucciones DATALINES. No se requieren conjuntos de datos externos o SASHELP.
1 Bloque de código
DATA STEP Data
Explicación : Este bloque DATA STEP crea un conjunto de datos llamado 'advisees' con tres variables: 'first' (nombre, carácter), 'gender' (género, carácter) y 'matric' (año de matriculación, numérico). Se inicializa con tres observaciones.
¡Copiado!
data advisees;
input first $ gender $ matric;
datalines;
Angela F 2010
Dawn F 2011
Aaron M 2011
run;
1
DATA advisees;
2
INPUT first $ gender $ matric;
3
DATALINES;
4
Angela F 2010
5
Dawn F 2011
6
Aaron M 2011
7
RUN;
2 Bloque de código
DATA STEP Data
Explicación : Este bloque DATA STEP crea un conjunto de datos llamado 'advisees_2012' con la misma estructura de variables que 'advisees'. Contiene tres observaciones para el año 2012.
¡Copiado!
data advisees_2012;
input first $ gender $ matric;
datalines;
Sruthi F 2012
Lindsey F 2012
Natalie F 2012
run;
1
DATA advisees_2012;
2
INPUT first $ gender $ matric;
3
DATALINES;
4
Sruthi F 2012
5
Lindsey F 2012
6
Natalie F 2012
7
RUN;
3 Bloque de código
PROC APPEND
Explicación : Este procedimiento PROC APPEND añade todas las observaciones del conjunto de datos 'advisees_2012' al conjunto de datos 'advisees'. Dado que los conjuntos de datos tienen estructuras de variables idénticas, la operación se realiza sin problemas.
¡Copiado!
proc append base = advisees data = advisees_2012;
run;
1
2
PROC APPEND base = advisees
3
DATA = advisees_2012;
4
RUN;
5
4 Bloque de código
PROC PRINT
Explicación : Este procedimiento PROC PRINT muestra el contenido actual del conjunto de datos 'advisees' después de la primera operación de adición, mostrando las observaciones originales y las de 'advisees_2012'.
¡Copiado!
proc print data = advisees;
run;
1
PROC PRINTDATA = advisees;
2
RUN;
5 Bloque de código
DATA STEP Data
Explicación : Este bloque DATA STEP crea un conjunto de datos llamado 'advisees_2013' con únicamente las variables 'first' y 'matric'. La variable 'gender' está ausente en comparación con el conjunto de datos 'advisees'.
¡Copiado!
data advisees_2013;
input first $ matric;
datalines;
Sara 2013
Dennis 2013
run;
1
DATA advisees_2013;
2
INPUT first $ matric;
3
DATALINES;
4
Sara 2013
5
Dennis 2013
6
RUN;
6 Bloque de código
PROC APPEND
Explicación : Este procedimiento PROC APPEND intenta añadir 'advisees_2013' a 'advisees'. Dado que 'advisees_2013' no contiene la variable 'gender' presente en 'advisees', las nuevas observaciones añadidas desde 'advisees_2013' tendrán un valor faltante para la variable 'gender'.
¡Copiado!
proc append base = advisees data = advisees_2013;
run;
1
2
PROC APPEND base = advisees
3
DATA = advisees_2013;
4
RUN;
5
7 Bloque de código
PROC PRINT
Explicación : Este procedimiento PROC PRINT muestra el contenido del conjunto de datos 'advisees' después de la adición de 'advisees_2013', resaltando los valores faltantes para 'gender' en las observaciones recién añadidas.
¡Copiado!
proc print data = advisees;
run;
1
PROC PRINTDATA = advisees;
2
RUN;
8 Bloque de código
DATA STEP Data
Explicación : Este bloque DATA STEP crea un conjunto de datos llamado 'advisees_2014' que incluye una nueva variable 'program' no presente en el conjunto de datos base 'advisees'.
¡Copiado!
data advisees_2014;
input first $ matric program $;
datalines;
Nathan 2014 MPH
Gloria 2014 PhD
run;
1
DATA advisees_2014;
2
INPUT first $ matric program $;
3
DATALINES;
4
Nathan 2014 MPH
5
Gloria 2014 PhD
6
RUN;
9 Bloque de código
PROC APPEND
Explicación : Este procedimiento PROC APPEND intenta añadir 'advisees_2014' a 'advisees'. Sin la opción FORCE, la variable 'program' de 'advisees_2014' será ignorada y no se añadirá al conjunto de datos 'advisees' porque no existe en el conjunto de datos base.
¡Copiado!
proc append base = advisees data = advisees_2014;
run;
1
2
PROC APPEND base = advisees
3
DATA = advisees_2014;
4
RUN;
5
10 Bloque de código
PROC PRINT
Explicación : Este procedimiento PROC PRINT muestra el contenido del conjunto de datos 'advisees' después del intento de añadir 'advisees_2014' sin la opción FORCE. La variable 'program' no será visible.
¡Copiado!
proc print data = advisees;
run;
1
PROC PRINTDATA = advisees;
2
RUN;
11 Bloque de código
PROC APPEND
Explicación : Este procedimiento PROC APPEND añade 'advisees_2014' a 'advisees' utilizando la opción FORCE. La opción FORCE permite la adición incluso si las estructuras de variables difieren. En este caso, la variable 'program' de 'advisees_2014' se añadirá al conjunto de datos 'advisees', y las observaciones existentes en 'advisees' recibirán un valor faltante para 'program'.
¡Copiado!
proc append base = advisees data = advisees_2014 force;
run;
1
2
PROC APPEND base = advisees
3
DATA = advisees_2014 force;
4
RUN;
5
12 Bloque de código
PROC PRINT
Explicación : Este procedimiento PROC PRINT muestra el contenido final del conjunto de datos 'advisees' después de la adición forzada de 'advisees_2014', mostrando todas las variables, incluida la nueva variable 'program'.
¡Copiado!
proc print data = advisees;
run;
1
PROC PRINTDATA = advisees;
2
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.