En este blog, le presentaré algunos de los conceptos importantes de la programación SAS. Antes de comenzar, es importante que se familiarice con SAS. Mi blog anterior sobre SAS Tutorial lo ayudará a comprender SAS, sus aplicaciones y lo ayudará a instalar SAS University Edition, que estaríamos usando aquí como un entorno de programación. ¿Se pregunta cuáles son las habilidades que debe dominar este año? Además, si planea ingresar a Data Analytics, es una de las mejores formas de comenzar con lo mismo.
¡La Guía de Carreras Técnicas Edureka 2019 ya está disponible! Los puestos de trabajo más destacados, rutas de aprendizaje precisas, perspectivas de la industria y más en la guía. Descargar ahora.
Así que sin másretrasar,comencemos con la programación SAS, ¿de acuerdo?
Este blog lo ayudará a comprender los siguientes temas:
- Fundamentos de la programación SAS
- Estructura del código SAS
- Informaciones y formatos en SAS
- Bucles SAS
- Procedimientos estadísticos básicos con SAS
Antes de comenzar a codificar, me gustaría informarles algunos términos importantes que son importantes para la programación SAS.
Fundamentos de la programación SAS
SAS Windows
Las grandes organizaciones e institutos de formación prefieren utilizar SAS Windows. SAS Windows tiene muchas utilidades que ayudan a reducir el tiempo necesario para escribir códigos.
La siguiente imagen muestra las diferentes partes de SAS Windows.
- Ventana de registro : Es una ventana de ejecución. Aquí puede comprobar la ejecución de su programa. También muestra errores, advertencias y notas.
- Ventana de código :Esta ventana también se conoce como ventana del editor. Considérelo como un papel en blanco o un bloc de notas, donde puede escribir su código SAS.
- Ventana de salida : Como sugiere el nombre, esta ventana muestra la salida del programa / código que escribe en el editor.
- Ventana de resultados : Es un índice que enumera todos los resultados de los programas que se ejecutan en una sesión. Dado que contiene los resultados de una sesión en particular, si cierra el software y lo reinicia, la ventana de resultados estará vacía.
- Explorar ventana : Contiene la lista de todas las bibliotecas del sistema. También puede explorar los archivos compatibles con el sistema aquí.
Algunas organizaciones usan Linux, sin embargo, sin una interfaz gráfica de usuario, debe escribir código para cada consulta. Por tanto, es un inconveniente de uso.
Conjuntos de datos SAS
Los conjuntos de datos SAS se denominan archivos de datos. Los archivos de datos están formados por filas y columnas. Las filas contienen observaciones y las columnas mantienenNombres de variables.
SAS Variables
SAS tiene dos tipos de variables:
- Variables numéricas : Este es el tipo de variable predeterminado. Estas variables se utilizan en expresiones matemáticas.
- Variables de carácter :Las variables de caracteres se utilizan para valores que no se utilizan en expresiones matemáticas.
Se tratan como texto o cadenas. Una variable se convierte en una variable de carácter agregando un'$' Signal final del nombre de la variable.
Bibliotecas SAS
La biblioteca SAS es una colección de archivos SAS que se almacenan en la misma carpeta o directorio de su computadora.
- Biblioteca temporal : En esta biblioteca, el conjunto de datos se elimina cuando finaliza la sesión SAS.
- Biblioteca permanente : Los conjuntos de datos se guardan de forma permanente. Por lo tanto, están disponibles en todas las sesiones.
Los usuarios también pueden crear o definir una nueva biblioteca conocida como bibliotecas definidas por el usuario utilizando la palabra clave LIBNAME . Estas también son bibliotecas permanentes.
Programación SAS: Estructura de código SAS
La programación de SAS se basa en dos bloques de construcción:
- Paso de datos : El paso DATA crea un conjunto de datos SAS y luego pasa los datos a un paso PROC
- Paso PROC : El paso PROC procesa los datos
Un programa SAS debe seguir las reglas mencionadas a continuación:
- Casi todos los códigos comenzarán con DATA o un PROC Step
- Cada línea de código SAS termina con un punto y coma
- Un código SAS termina con la palabra clave RUN o QUIT
- Los códigos SAS no distinguen entre mayúsculas y minúsculas
- Puede escribir un código en diferentes líneas o puede escribir varias declaraciones en una línea
Ahora que hemos visto algunas terminologías básicas, comencemos con la programación SAS con este código básico:
DATA Entrada de Employee_Info Emp_ID Emp_Name $ Emp_Vertical $ líneas de datos 101 Mak SQL 102 Rama SAS 103 Priya Java 104 Karthik Excel 105 Mandeep SAS Run
En el código anterior, creamos un conjunto de datos llamado Employee_Info. Tiene tres variables, una variable numérica como Emp_Id y dos variables de carácter como Emp_Name y Emp_Verticals. El comando Ejecutar muestra el conjunto de datos en la Ventana de salida.
La siguiente imagen muestra la salida del código mencionado anteriormente.
Suponga que desea ver el resultado en la vista de impresión, bueno, puede hacerlo utilizando un procedimiento PROC PRINT, el resto del código permanece igual.
DATA Entrada de Employee_Info Emp_ID Emp_Name $ Emp_Vertical $ líneas de datos 101 Mak SQL 102 Rama SAS 103 Priya Java 104 Karthik Excel 105 Mandeep SAS Ejecutar PROC PRINT DATA = Employee_Info Ejecutar
La imagen de abajo muestra la salida del código anterior.
Acabamos de crear un conjunto de datos y entendemos cómo funciona el procedimiento PRINT. Ahora, tomemos el conjunto de datos anterior y usémoslo para más programación. Supongamos que queremos agregar la fecha de incorporación del empleado al conjunto de datos. Entonces creamos una variable llamada DOJ, la damos como entrada e imprimimos el resultado.
DATA Entrada de Employee_Info Emp_ID Emp_Name $ Emp_Vertical $ DOJ líneas de datos 101 Mak SQL 18/08/2013 102 Rama SAS 25/06/2015 103 Priya Java 21/02/2010 104 Karthik Excel 19/05/2007 105 Mandeep SAS 11/09/2016 Ejecutar PROC PRINT DATA = Employee_Info Ejecutar
La siguiente imagen muestra la salida del código anterior. Es visible que se creó una variable, pero el valor de DOJ no se imprimió. En cambio, vemos que los puntos han reemplazado los valores de fecha.
¿Por qué pasó esto? Bueno, la variable DOJ no tiene el sufijo '$', lo que significa que, de forma predeterminada, SAS la leerá como una variable numérica. Pero, los datos que ingresamos tienen un carácter especial '/', por lo que no imprime el resultado, ya que no son datos puramente numéricos. Si comprueba la ventana de registro, verá un mensaje de error como 'datos no válidos para la variable DOJ'
Ahora, ¿cómo resolvemos este problema? Bueno, una forma de resolverlo es usando un sufijo '$' para la variable DOJ. Esto convertirá la variable DOJ en carácter y podrá imprimir valores de fecha. Hagamos los cambios en el código y veamos el resultado.
DATA Employee_Info input Emp_ID Emp_Name $ Emp_Vertical $ DOJ $ líneas de datos 101 Mak SQL 18/08/2013 102 Rama SAS 25/06/2015 103 Priya Java 21/02/2010 104 Karthik Excel 19/05/2007 105 Mandeep SAS 11/09 / 2016 Ejecutar PROC PRINT DATA = Employee_Info Ejecutar
La pantalla de salida mostrará la siguiente salida.
Puede ver que los valores de los datos se muestran como fechas al convertir DOJ en carácter. Sin embargo, esta es una solución temporal. Déjame explicarte cómo
Bueno, imagina que un banco tiene un conjunto de datos similar. El conjunto de datos tiene detalles del titular de la cuenta como monto del préstamo, cuotas,yfecha de vencimiento de la cuota del préstamo. Imagínese, el titular ha incumplido su plazo para pagar una cuota y el banco quiere calcular el retraso. El banco deberá calcular la diferencia entre la fecha límite y la fecha actual.
Pero, si el conjunto de datos del banco tiene fechas en formato de caracteres, el banco no podrá realizar operaciones matemáticas en él. Este problema también puede afectar nuestro conjunto de datos. Entonces, ¿cómo resolvemos este problema?
El siguiente concepto le ayudará a superar este problema.
Informaciones y formatos en SAS
Es importante que comprenda bien este tema si quiere ser bueno en la programación SAS.Si puede recordar, mencioné anteriormente que SAS tiene dos tipos de variables estándar:
- Numérico
- Personaje
Cuando SAS encuentra variables no estándar, SAS arrojará un error o no obtendrá el resultado deseado. Para superar este problema, SAS utilizainformadosy formatos.
informado
Los informats se utilizan normalmente para leer o introducir datos de archivos externos o archivos planos (comoarchivos de texto o archivos secuenciales). El informat instruye a SAS sobre cómo leerdatos en variables SAS. SAS tiene tres tipos de Informats:carácter, numérico y fecha / hora. Los datos se nombran de acuerdo con lo siguienteestructura de sintaxis:
- Character Informado: $ INFORMATw.
- Informado numérico: INFORMATw.d
- Fecha / hora informada: INFORMATw.
El '$' indica la información de un carácter. INFORMAT se refiere a los a veces opcionalesNombre de información de SAS. La 'w' indica el ancho (bytes o número de columnas) delvariable. La 'd' se utiliza para datos numéricos para especificar el número de dígitos a la derecha deel lugar decimal. Todos los datos deben contener un punto decimal (.) Para que SAS pueda
diferenciar un informat de una variable SAS.
Volvamos a nuestro código anterior y veamos si Date / Time Informat nos ayuda. Así que cambiemos el código en consecuencia y agreguemos un Informat de fecha de la siguiente manera:
DATA Employee_Info input Emp_ID Emp_Name $ Emp_Vertical $ DOJ INFORMAT DOJ ddmmyy10. líneas de datos 101 Mak SQL 18/08/2013 102 Rama SAS 25/06/2015 103 Priya Java 21/02/2010 104 Karthik Excel 19/05/2007 105 Mandeep SAS 11/09/2016 Ejecutar PROC PRINT DATA = Employee_Info Ejecutar
La línea número 3 del código indica a SAS que lea la variable 'fecha de incorporación' (DOJ) usando la fecha
informat MMDDYYw. Para cada campo de fecha que ocupa 10 espacios, el calificador 'w.' Esestablecido en 10.
La salida del código se vería así.
El resultado muestra que todavía no tenemos el resultado deseado, en cambio, la columna DOJ contiene algunos valores numéricos y no las fechas que especificamos. Ahora, ¿por qué es eso? Bueno, una vez que se lee una fecha con una información de fecha, SAS almacena la fecha como un número. Eso significa que se lee como el número de días entre la fecha y el 1 de enero de 1960 (por ejemplo: 15/03/1994 se almacena como 12492).
La razón detrás de esto es que SAS tiene tres contadores separados que realizan un seguimiento de las fechas y la hora. Estos contadores de fechas comenzaron en cero el 1 de enero de 1960. Por lo tanto, las fechas anteriores al 1/1/1960 tienen valores negativos y cualquier fecha posterior tiene un valor positivo. Todos los días a la medianoche, el contador de fecha se incrementa en uno.
Una historia dice que los fundadores de SAS querían usar la fecha de nacimiento aproximada del sistema IBM 370 y eligieron el 1 de enero de 1960 como una aproximación fácil de recordar.
Ahora que conoce la razón por la que la columna DOJ mostró esos números, intentemos resolver este problema. Para superar este problema utilizamos Format.
cómo finalizar un programa en java
Formato
Los informats son las instrucciones para leer datos, mientras que los formatos son las instrucciones que se utilizan para mostrar odatos resultantes.Definir un formato para una variable es cómo le dice a SAS que muestre los valores en la variable. Los formatos se agrupan en las mismas tres clases que los datos (carácter, numérico y fecha-hora) y también siempre contienen un punto.
La forma general de una declaración de formato es:
- FORMAT nombre-variable FORMAT-NAME.
Regresemos a nuestro código que tiene el conjunto de datos Employee_Info para ver si podemos mostrar la fecha correctamente usando el comando FORMAT.
DATA Employee_Info input Emp_ID Emp_Name $ Emp_Vertical $ DOJ INFORMAT DOJ ddmmyy10. FORMATO DOJ ddmmyy10. líneas de datos 101 Mak SQL 18/08/2013 102 Rama SAS 25/06/2015 103 Priya Java 21/02/2010 104 Karthik Excel 19/05/2007 105 Mandeep SAS 11/09/2016 Ejecutar PROC PRINT DATA = Employee_Info Ejecutar
Hemos utilizado el comando FORMAT en la línea número 4 en el código anterior. La siguiente pantalla de salida nos dará la salida deseada.
Hemos mostrado con éxito el conjunto de datos usando el comando de formato de fecha. Espero que haya entendido cómo utilizar el formato y la información.Sigamos adelante con nuestro blog de programación SAS y echemos un vistazo a otro concepto importante.
Bucles SAS
Mientras hacemos la programación SAS, podemos encontrarnos con situaciones en las que necesitamos ejecutar unabloque de código varias veces. Es inconveniente escribir el mismo conjunto de declaraciones una y otra vez. Aquí es donde los bucles entran en escena. En SAS, la instrucción Do se utiliza para implementar bucles. También se conoce como Do Loop. La siguiente imagen muestra elforma general de las sentencias Do loop en SAS.
Los siguientes son los tipos de bucles DO en SAS:
- Índice : El bucle continúa desde el valor inicial hasta el valor final de la variable de índice.
- Mientras : El bucle continúa mientras el Mientras la condición se vuelve falsa.
- Hasta : El bucle continúa hasta que Hasta la condición se vuelve Verdadera.
Hacer bucle de índice
Usamos una variable de índice como valor inicial y final para Hacer bucle de índice . Las declaraciones SAS se ejecutan repetidamente hasta que la variable de índice alcanza su valor final.
Sintaxis:
Hacer indexvariable = initialvalue to finalvalue SAS declaraciones Fin
Echemos un vistazo al código de muestra para comprender Do Index Loop. En el siguiente código, VAR es la variable de índice.
DATA SampleLoop SUM = 0 Do VAR = 1 a 10 SUM = SUM + VAR END PROC PRINT DATA = SampleLoop Run
Cuando ejecute el código anterior, obtendrá el siguiente resultado.
que es tostring en java
Hacer mientras bucle
los Hacer mientras El bucle utiliza una condición WHILE. Este bucle ejecuta el bloque de código cuando la condición es verdadera y sigue ejecutándolo hasta que la condición se vuelve falsa. Una vez que la condición se vuelve falsa, se termina el ciclo.
Sintaxis:
Do While (condición) sentencias SAS Fin
El siguiente código de muestra le ayudará a comprender el bucle DO WHILE.
DATA SampleLoop SUM = 0 VAR = 1 Do while (VAR<15) SUM = SUM + VAR VAR+1 END PROC PRINT DATA = SampleLoop Run
El código anterior le dará la siguiente salida.
Hacer hasta bucle
El bucle Do until usa un Hasta Este bucle ejecuta el bloque de código cuando la condición es falsa y sigue ejecutándolo hasta que la condición se vuelve verdadera. Una vez que la condición se cumple, el ciclo finaliza.
Sintaxis:
Hacer hasta (condición) declaraciones SAS FIN
Echemos un vistazo al programa de muestra.
DATA SampleLoop SUM = 0 VAR = 1 Continuar hasta (VAR> 15) SUM = SUM + VAR VAR + 1 END PROC PRINT Ejecutar
El código tiene la siguiente salida.
Así hemos terminado el concepto de bucles en la programación SAS. Todos los temas que estudiamos hasta ahora han hablado de los conceptos básicos de la programación SAS en general.
Ahora echemos un vistazo a algunos procedimientos estadísticos. Estos procedimientos formarán una base para procedimientos analíticos.
Suscríbete a nuestro canal de youtube para recibir nuevas actualizaciones ..!
Procedimientos estadísticos básicos con SAS
PROC SIGNIFICA
Este procedimiento se utiliza para calcular la media aritmética y la desviación estándar. Para las personas que son nuevas en las estadísticas, puede resultarles difícil comprender estos términos. Entonces, antes de comenzar a codificar y usar este procedimiento. Intentaré explicar qué significan estos términos.
Comencemos con la media aritmética y veamos cómo se usa PROC MEANS en la programación SAS para calcularla.
Significado aritmetico
La suma del valor de las variables numéricas, dividido por el número de variables le da el significado aritmetico . También se conoce como media y es una medida de tendencia central. Una medida de tendencia central es un valor único que intenta describir un conjunto de datos identificando la posición central dentro de ese conjunto de datos.
En la programación SAS, usa PROC MEANS para calcular la media aritmética. Este procedimiento le permite encontrar la media de todas las variables o algunas variables de un conjunto de datos. También puede formar grupos y calcular la media de las variables específicas de ese grupo.
Sintaxis:
PROC MEANS DATA = DATASET Clase Variables Variables Var
- Variables : Las variables en la sintaxis anterior indican variables del conjunto de datos cuya media se va a calcular.
Media de un conjunto de datos
Si tuproporcione solo el nombre del conjunto de datos sin ninguna variable, puede calcular la media de todas las variables en un conjunto de datos.
Echemos un vistazo a un código de muestra. He considerado un conjunto de datos SAS predefinido denominado 'coches'. El siguiente comando mostrará el conjunto de datos.
PROC PRINT data = sashelp.CARS Ejecutar
La siguiente imagen muestra la salida del código anterior.
Ahora usemos este código de conjunto de datos y calculemos la media de cada variable en el conjunto de datos'coches'.
PROC MEANS DATA = sashelp.CARS Media SUM MAXDEC = 2 Run
La imagen a continuación muestra la media de todas las variables en la configuración de datos hasta dos decimales.
Media de las variables seleccionadas
Al proporcionar los nombres en la opción Var, puede obtener la media de las variables especificadas. Consulte el código a continuación.
PROC MEANS DATA = sashelp.CARS significa SUM MAXDEC = 2 var caballos de fuerza cilindros Run
Media por clase
Puede encontrar la media de las variables numéricas organizándolas en grupos utilizandoalgún parámetro para agruparlos.Considere el siguiente código de muestra. Averigüemos la media de caballos de fuerza para diferentes grupos categorizados por las clases 'marca' y 'tipo' de diferentes automóviles.
PROC MEANS DATA = sashelp.CARS MEANS SUM MAXDEC = 2 class make type var horsepower Run
La siguiente imagen muestra la salida del código anterior.
Continuemos con nuestro blog de programación SAS y echemos un vistazo a otro concepto estadístico importante.
Desviación Estándar
La desviación estándar (SD) es una medida de cuán variados son los datos en un conjunto de datos dado. Matemáticamente, le dice qué tan cerca está cada punto de datos del valor medio de un conjunto de datos. Si el valor de la desviación estándar está cerca de 0, indica que los puntos de datos están muy cerca de la media del conjunto de datos y una desviación estándar alta indica que los puntos de datos están distribuidos en un amplio rango de valores.
En SAS, puede calcular el valor de la desviación estándar mediante dos procedimientos. Son:
- PROC SIGNIFICA
- ENCUESTAS
Desviación estándar usando PROC MEANS
Puede medir la desviación estándar utilizando medios proc, debe elegir el HORAS opción en el paso PROC. Mostrará los valores de la desviación estándar para cada variable numérica en el conjunto de datos.
Sintaxis:
PROC MEANS DATA = conjunto de datos STD
Considere este código de muestra, creemos otro conjunto de datos CARS1 a partir del conjunto de datos CARS en la biblioteca SASHELP. Para hacer esto, usaremos el procedimiento PROC SQL. Agrupemos los datos usando 'tipo' y 'marca' de automóviles y calculemos la desviación estándar para las variables seleccionadas usando la opción STD con el paso de medios PROC.
PROC SQL crea la tabla CARS1 como SELECCIONAR marca, tipo, caballos de fuerza, cilindros, peso DESDE SASHELP.CARS DONDE marca en ('Audi', 'BMW') RUN PROC MEANS DATA = CARS1 STD Run
El código anterior dará una desviación estándar para las variables seleccionadas. La siguiente imagen muestra la salida.
PROCESO DE ENCUESTAS
Este procedimiento se utiliza para medir la desviación estándar junto con algunas características avanzadas como medir la desviación estándar para variables categóricas y la varianza.
Sintaxis:
PROC SURVEYMEANS opciones estadístico-palabras clave Por variables Variables de clase Variables de var
A continuación se muestra la descripción de los parámetros utilizados:
- Por se utiliza para indicar las variables utilizadas para crear grupos de observaciones.
- Clase indica las variables utilizadas para las variables categóricas.
- Dónde indica las variables para las que se calculará la DE.
Echemos un vistazo a este código de muestra que describe el uso del parámetro de clase, que crea las estadísticas para cada uno de los valores en la variable de clase.
PROC SURVEYMEANS DATA = CARS1 STD Tipo de clase Var tipo caballos de fuerza ods estadísticas de salida = rectángulo Ejecutar PROC PRINT DATA = rectángulo Ejecutar
Las imágenes a continuación muestran la salida del código anterior. Muestra la distribución de datos para la variable 'Caballos de fuerza' para un intervalo de confianza del 95%. (Intervalo de confianza significa un rango de valores definido de tal manera que existe una probabilidad específica de que el valor de un parámetro se encuentre dentro de él).
Entonces, eso nos lleva al final del blog de programación de SAS. Para cualquier duda o problema con el contenido del blog, déjelos en la sección de comentarios, los resolveré lo antes posible y les responderé.
Si desea aprender SAS y desarrollar una carrera en el dominio de la analítica, consulte nuestro que viene con capacitación en vivo dirigida por un instructor y experiencia en proyectos de la vida real. Esta capacitación lo ayudará a comprender SAS en profundidad y lo ayudará a dominar varios conceptos del lenguaje de programación SAS.
Tienes una pregunta para nosotros? Menciónelo en la sección de comentarios y nos pondremos en contacto con usted.