7.4: Introducción a SAS
- Page ID
- 149260
\( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)
\( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)
\( \newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\)
( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\)
\( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)
\( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\)
\( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)
\( \newcommand{\Span}{\mathrm{span}}\)
\( \newcommand{\id}{\mathrm{id}}\)
\( \newcommand{\Span}{\mathrm{span}}\)
\( \newcommand{\kernel}{\mathrm{null}\,}\)
\( \newcommand{\range}{\mathrm{range}\,}\)
\( \newcommand{\RealPart}{\mathrm{Re}}\)
\( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)
\( \newcommand{\Argument}{\mathrm{Arg}}\)
\( \newcommand{\norm}[1]{\| #1 \|}\)
\( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)
\( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\AA}{\unicode[.8,0]{x212B}}\)
\( \newcommand{\vectorA}[1]{\vec{#1}} % arrow\)
\( \newcommand{\vectorAt}[1]{\vec{\text{#1}}} % arrow\)
\( \newcommand{\vectorB}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)
\( \newcommand{\vectorC}[1]{\textbf{#1}} \)
\( \newcommand{\vectorD}[1]{\overrightarrow{#1}} \)
\( \newcommand{\vectorDt}[1]{\overrightarrow{\text{#1}}} \)
\( \newcommand{\vectE}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash{\mathbf {#1}}}} \)
\( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)
\( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)
\(\newcommand{\avec}{\mathbf a}\) \(\newcommand{\bvec}{\mathbf b}\) \(\newcommand{\cvec}{\mathbf c}\) \(\newcommand{\dvec}{\mathbf d}\) \(\newcommand{\dtil}{\widetilde{\mathbf d}}\) \(\newcommand{\evec}{\mathbf e}\) \(\newcommand{\fvec}{\mathbf f}\) \(\newcommand{\nvec}{\mathbf n}\) \(\newcommand{\pvec}{\mathbf p}\) \(\newcommand{\qvec}{\mathbf q}\) \(\newcommand{\svec}{\mathbf s}\) \(\newcommand{\tvec}{\mathbf t}\) \(\newcommand{\uvec}{\mathbf u}\) \(\newcommand{\vvec}{\mathbf v}\) \(\newcommand{\wvec}{\mathbf w}\) \(\newcommand{\xvec}{\mathbf x}\) \(\newcommand{\yvec}{\mathbf y}\) \(\newcommand{\zvec}{\mathbf z}\) \(\newcommand{\rvec}{\mathbf r}\) \(\newcommand{\mvec}{\mathbf m}\) \(\newcommand{\zerovec}{\mathbf 0}\) \(\newcommand{\onevec}{\mathbf 1}\) \(\newcommand{\real}{\mathbb R}\) \(\newcommand{\twovec}[2]{\left[\begin{array}{r}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\ctwovec}[2]{\left[\begin{array}{c}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\threevec}[3]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\cthreevec}[3]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\fourvec}[4]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\cfourvec}[4]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\fivevec}[5]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\cfivevec}[5]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\mattwo}[4]{\left[\begin{array}{rr}#1 \amp #2 \\ #3 \amp #4 \\ \end{array}\right]}\) \(\newcommand{\laspan}[1]{\text{Span}\{#1\}}\) \(\newcommand{\bcal}{\cal B}\) \(\newcommand{\ccal}{\cal C}\) \(\newcommand{\scal}{\cal S}\) \(\newcommand{\wcal}{\cal W}\) \(\newcommand{\ecal}{\cal E}\) \(\newcommand{\coords}[2]{\left\{#1\right\}_{#2}}\) \(\newcommand{\gray}[1]{\color{gray}{#1}}\) \(\newcommand{\lgray}[1]{\color{lightgray}{#1}}\) \(\newcommand{\rank}{\operatorname{rank}}\) \(\newcommand{\row}{\text{Row}}\) \(\newcommand{\col}{\text{Col}}\) \(\renewcommand{\row}{\text{Row}}\) \(\newcommand{\nul}{\text{Nul}}\) \(\newcommand{\var}{\text{Var}}\) \(\newcommand{\corr}{\text{corr}}\) \(\newcommand{\len}[1]{\left|#1\right|}\) \(\newcommand{\bbar}{\overline{\bvec}}\) \(\newcommand{\bhat}{\widehat{\bvec}}\) \(\newcommand{\bperp}{\bvec^\perp}\) \(\newcommand{\xhat}{\widehat{\xvec}}\) \(\newcommand{\vhat}{\widehat{\vvec}}\) \(\newcommand{\uhat}{\widehat{\uvec}}\) \(\newcommand{\what}{\widehat{\wvec}}\) \(\newcommand{\Sighat}{\widehat{\Sigma}}\) \(\newcommand{\lt}{<}\) \(\newcommand{\gt}{>}\) \(\newcommand{\amp}{&}\) \(\definecolor{fillinmathshade}{gray}{0.9}\)Objetivos de aprendizaje
- Esta página da una introducción al uso del paquete de software estadístico SAS. Parte de ella es específica de la Universidad de Delaware, pero la mayor parte debería ser útil para cualquiera que use SAS.
Introducción
SAS, SPSS y Stata son algunos de los paquetes de software más populares para hacer estadísticas serias. Tengo un poco de experiencia con SAS, así que he preparado esta página web para que comiences en lo básico. El departamento de Servicios Académicos de Tecnología de UCLA ha preparado guías muy útiles para SAS, SPSS y Stata.
Una herramienta cada vez más popular para estadísticas serias es R, un paquete de software gratuito para Windows, Mac, Linux y Unix. Hay manuales en línea gratuitos, y muchos tutoriales en línea e impresos. Nunca he usado R, así que no puedo ayudarte con ello.
SAS puede parecer intimidante y anticuado; lograr cualquier cosa con él requiere escribir lo que es, en esencia, un programa de computadora, uno donde un punto y coma fuera de lugar puede tener resultados desastrosos. Pero creo que si respiras hondo y trabajas pacientemente a través de los ejemplos, pronto podrás hacer algunas estadísticas bastante geniales.
Las instrucciones aquí son para la Universidad de Delaware, pero la mayor parte debe aplicarse en cualquier lugar donde se instale SAS. Hay cuatro formas de usar SAS:
- en un mainframe, en modo batch. Esto es lo que voy a describir a continuación.
- en un mainframe, interactivamente en modo de línea. No recomiendo esto, porque solo parece agregar complicación y confusión.
- en un mainframe, de forma interactiva con el sistema Display Manager. Por lo que he visto, esto no es muy fácil. Si realmente quieres probarlo, aquí tienes instrucciones. Ten en cuenta que “interactivo” no significa “interfaz gráfica fácil de usar como estás acostumbrado”; aún tienes que escribir los mismos programas SAS.
- en su computadora personal Windows. Nunca he hecho esto. Antes de comprar SAS para su computadora, vea si puede usarlo de forma gratuita en la computadora mainframe de su institución.
Para usar SAS en una computadora central, deberá conectar su computadora personal a un mainframe; en la Universidad de Delaware, se conecta a una computadora llamada Strauss. El sistema operativo para mainframes como Strauss es Unix; para poder ejecutar SAS en modo batch, tendrás que aprender algunos comandos Unix.
Conectarse a un mainframe desde una Mac
En una Mac, encuentra el programa Terminal; debería estar en la carpeta Utilidades, dentro de tu carpeta Aplicaciones. Probablemente querrás arrastrarlo a tu barra de tareas para un fácil acceso en el futuro. La primera vez que ejecute Terminal, vaya a “Preferencias” en el menú Terminal, elija “Configuración”, luego elija “Avanzado”. Establezca “Declarar terminal como:” a “vt100". Después marca la casilla que dice “Eliminar envía Ctrl-H”. (Algunas versiones de Terminal pueden tener las preferencias organizadas de manera algo diferente, y es posible que deba buscar una casilla para marcar que diga “Eliminar clave envía retroceso”). Después salga y reinicie Terminal. No será necesario que vuelva a cambiar estos ajustes.
Cuando inicies Terminal, obtendrás un mensaje que se ve así:
Tu-Nombres-Computadora: ~ sunombre$
Después del signo de dólar, escriba ssh userid@computer.url, donde userid es su nombre de identificación de usuario y computer.url es la dirección del mainframe. En Delaware el mainframe es Strauss, así que si tu identificador de usuario es joeblow, escribirías ssh joeblow@strauss.udel.edu. Después golpeó Regresar. Te pedirá tu contraseña; escríbalo y presiona Retorno (no parecerá que hayas escrito nada, pero funcionará). Luego se conectará al mainframe y obtendrá un mensaje como este:
strauss.udel.edu%
Ya estás listo para comenzar a escribir comandos Unix.
Conectarse a un mainframe desde Windows
A diferencia de las Mac, las computadoras con Windows no vienen con un emulador de terminal incorporado, por lo que tendrás que preguntarle al administrador de tu sitio qué "emulador de terminal" recomiendan. Putty es un programa popular (y gratuito), con un buen conjunto de instrucciones aquí. Cualquiera que sea el emulador de terminal que utilices, deberás ingresar el “nombre de host” (el nombre de la computadora central a la que intentas conectarte; en Delaware, es strauss.udel.edu), tu ID de usuario y tu contraseña. Es posible que deba especificar que su “Protocolo” es “SSH”. Cuando escribes tu contraseña, puede parecer que no pasa nada, pero solo escríbala y presiona Enter. Si funciona, se conectará al mainframe y obtendrá un mensaje como este:
strauss.udel.edu%
Ya estás listo para comenzar a escribir comandos Unix.
Conectarse a un mainframe desde Linux
Si estás ejecutando Linux, ya eres bastante geek que no necesitas mi ayuda para conectarte a tu mainframe.
Un poco de Unix
El sistema operativo para mainframes como Strauss es Unix, así que tienes que aprender algunos comandos de Unix. Al parecer, Unix fue escrito por personas para quienes teclear es físicamente doloroso, ya que la mayoría de los comandos son un pequeño número de letras crípticas. El caso sí importa; no ingrese CD y piense que significa lo mismo que cd. Aquí está todo el Unix que necesita saber para ejecutar SAS. Los comandos están en negrita y los nombres de archivos y directorios, que elija, están en cursiva.
ls | Enumera todos los nombres de archivo en su directorio actual. |
pico nombre de archivo | pico es un editor de texto; lo usarás para escribir programas SAS. Ingresa pico nombrearchivo.sas para abrir un archivo existente llamado nombrearchivo.sas, o créalo si no existe. Para salir del pico, ingrese las teclas control y x. Tienes que usar las teclas de flecha, no el ratón, para moverte por el texto una vez que estás en un archivo. Por esta razón, prefiero crear y editar programas SAS en un editor de texto en mi computadora (TextEdit en una Mac, NotePad en Windows), luego copiarlos y pegarlos en un archivo que he creado con pico. Entonces utilizo pico para pequeños ajustes del programa. No copie y pegue de un procesador de textos como Word en pico, ya que los archivos de procesador de textos contienen caracteres invisibles que confundirán a pico. Tenga en cuenta que hay otros editores de texto populares, como vi y emacs, y uno de los personajes definitorios de un serio geek informático es una opinión fuerte sobre la superioridad de su editor de texto favorito y la total pérdida de todos los demás editores de texto. Para evitar convertirte en uno de ellos, trata de no emocionarte con pico. Los nombres de archivo Unix deben estar hechos de letras y números, guiones (-), guiones bajos (_) y puntos. No use espacios u otros signos de puntuación (barras, paréntesis, signos de exclamación, etc.), ya que tienen significados especiales en Unix y pueden confundir a la computadora. Es común usar una extensión después de un periodo, como .sas para indicar un programa SAS, pero eso es para tu comodidad para reconocer qué tipo de archivo es; no es requerido por Unix. |
nombre de archivo cat | Abre un archivo para su visualización e impresión, pero no para editarlo. Automáticamente te llevará al final del archivo, por lo que tendrás que desplazarte hacia arriba. Para imprimir, es posible que desee copiar lo que quiera y luego pegarlo en un documento de procesador de textos para facilitar el formateo. Debe usar cat en lugar de pico para ver los archivos de salida (.log y .lst) que SAS crea. |
mv nombre anterior nuevomero | Cambia el nombre de un archivo de oldname a newname. Cuando ejecuta SAS en el archivo práctice.sas, la salida estará en un archivo llamado práctica.lst. Antes de hacer cambios a practice.sas y ejecutarlo de nuevo, es posible que desee cambiar el nombre de practice.lst a otra cosa, para que no se sobrescriba. |
cp nombre anterior nuevomero | Realiza una copia del archivo oldname con el nombre nuevame. |
rm nombre de archivo | Elimina un archivo. |
logout | Cierra la sesión del mainframe. |
mkdir directorionombre | Crea un nuevo directorio. No necesitas hacer esto, pero si terminas creando muchos archivos, te puede resultar útil mantenerlos organizados en diferentes directorios. |
cd directorionombre | Cambia de un directorio a otro. Por ejemplo, si tienes un directorio llamado sasfiles en tu directorio home, ingresa cd sasfiles. Para ir desde dentro de un directorio hasta tu directorio home, solo tienes que ingresar cd. |
rmdir directorionombre | Elimina un directorio, si no tiene ningún archivo en él. Si quieres eliminar un directorio y los archivos en él, primero entra en el directorio, elimina todos los archivos en él usando rm, luego elimina el directorio usando rmdir. |
sas nombre de archivo | Ejecuta SAS. Asegúrese de ingresar sas nombrearchivo.sas. Si solo ingresas sas y luego pulsas return, estarás en modo SAS interactivo, lo que da miedo; enter; endsas; si eso sucede y necesitas salir de él. |
Redactar un programa SAS
Para usar SAS, primero usa pico para crear un archivo vacío; puede llamar al primero practice.sas. Escriba el programa SAS que haya escrito (o cópielo de un archivo de texto que creó con TextEdit o Bloc de notas), luego guarde el archivo presionando el control y\(x\) las teclas. Una vez que hayas salido de pico, ingresa sas practice.sas; la palabra sas es el comando que le dice a Unix que ejecute el programa SAS, y practice.sas es el archivo en el que va a ejecutar SAS. Luego, SAS crea un archivo llamado practice.log, que informa de cualquier error. Si no hay errores fatales, SAS también crea un archivo llamado práctice.lst, que contiene los resultados del análisis.
El programa SAS (que escribes usando pico) consta de una serie de comandos. Cada comando es una o más palabras, seguidas de un punto y coma. Puedes poner comentarios en tu programa para recordarte lo que intentas hacer; estos comentarios tienen una raya y un asterisco en cada lado, así:
/*Esto es un comentario. No es leído por el programa SAS. */
El programa SAS tiene dos partes básicas, el paso DATA y el paso PROC. (Nota: voy a capitalizar todos los comandos SAS para que se destaquen, pero no es necesario que cuando escriba sus programas; a diferencia de Unix, SAS no es sensible a mayúsculas y minúsculas). El paso DATA lee los datos, ya sea de otro archivo o desde dentro del programa.
En un paso DATA, primero dices “DATA dataset”; donde dataset es un nombre arbitrario que le das al conjunto de datos. Entonces dices “INPUT variable1 variable2...;” dando un nombre arbitrario a cada una de las variables que está en una línea en tus datos. Entonces, si tienes un conjunto de datos que consiste en el largo y ancho de mejillones de dos especies diferentes, podrías iniciar el programa escribiendo:
mejillones DATA; especies
INPUT $ largo ancho;
Un nombre de variable para una variable nominal (un nombre o carácter) tiene un espacio y un signo de dólar (\(\$\)) después de él. En nuestro conjunto de datos de práctica, “especie” es una variable nominal. Si quieres tratar un número como una variable nominal, como un número de identificación, recuerda poner un signo de dólar después del nombre de la variable. No use espacios dentro de los nombres de las variables o los valores de las variables; use Medulis o m_EDULIS, no M. edulis (hay formas de manejar variables que contienen espacios, pero son complicadas).
Si estás poniendo los datos directamente en el programa, el siguiente paso es una línea que dice “DATALINES;”, seguida de los datos. Un punto y coma en una línea por sí mismo le dice a SAS que ha terminado de leer los datos. Puedes poner cada observación en una línea separada, con las variables separadas por uno o más espacios:
DATA mejillones; /* nombra el conjunto de datos “mejillones” */
INPUT species $ largo ancho; /* nombra las variables, define “species” como una variable nominal */
DATALINES; /* le dice a SAS que los datos comienzan en la siguiente línea */
edulis 49.0 11 .0
trossulus 51.2 9.1
trossulus 45.9 9.4
edulis 56.2 13.2
edulis 52.7 10.7
edulis 48.4 10.4
trossulus 47.6 9.5
trossulus 46.2 8.9
trossulus 37.2 7.1
; /* el punto y coma le dice a SAS que deje de leer datos */
También puedes tener más de un conjunto de datos en cada línea, si pones “@@” al final de la instrucción INPUT:
DATOS mejillones; especies
INPUT $ largo ancho @@;
DATALINES;
edulis 49.0 11.0 trossulus 51.2 9.1 trossulus 45.9 9.4 edulis 56.2 13.2
edulis 52.7 10.7 edulis 48.4 10.4 trossulus 47.6 9.5 trossulus 46.2 8.9
trossulus 37.2 7.1
;
Si tiene un conjunto de datos grande, será más conveniente mantenerlo en un archivo separado de su programa. Para leer en datos de otro archivo, utilice una declaración INFILE datafile;, con el nombre del archivo de datos entre comillas simples. Si haces esto, no usas la declaración DATALINES. Aquí he creado un archivo separado (en el mismo directorio) llamado "shells.dat" que tiene una enorme cantidad de datos en él, y así es como le digo a SAS que lo lea:
Mejillones DATA;
INFILE 'shells.dat';
INPUT species $ largo ancho;
Cuando tienes tus datos en un archivo separado, es una buena idea tener una o más líneas al inicio del archivo que expliquen cuáles son las variables. Luego debe usar FIRSTOBS= linenumber como una opción en la instrucción INFILE para indicar a SAS qué línea tiene la primera fila de datos. Aquí le digo a SAS que empiece a leer datos en línea\(3\) del archivo de datos shells.dat, porque las dos primeras líneas tienen información explicativa:
Mejillones DATA;
INFILE 'shells.dat' FIRSTOBS=3; especies
INPUT $ largo ancho;
La instrucción DATA puede crear nuevas variables a partir de operaciones matemáticas sobre las variables originales. Aquí hago dos nuevas variables, “loglength”, que es solo la base-\(10\) log de longitud, y “shellratio”, el ancho dividido por el largo. SAS puede hacer estadísticas sobre estas variables tal como lo hace en las variables originales.
DATA mejillones; especies
INPUT $ largo ancho;
loglength=log10 (largo);
shellratio=ancho/largo;
DATALINES;
El paso PROC
Una vez ingresados los datos, es el momento de analizarlos usando uno o más comandos PROC. El enunciado PROC le dice a SAS qué procedimiento ejecutar, y casi siempre tiene algunas opciones. Por ejemplo, para calcular la media y la desviación estándar de las longitudes, anchuras y longitudes transformadas logarítmicas, se usaría PROC MEANS. Le siguen ciertas opciones. DATA= conjunto de datos le dice qué conjunto de datos analizar. MEAN y STD son opciones que indican PROC MEANS para calcular la media y la desviación estándar; hay varias otras opciones que podrían haber sido utilizadas con PROC MEANS. Variables VAR1 variable2... indica PROC MEDIOS de qué variables calcular la media y la desviación estándar de. RUN le dice a SAS que corra.
PROC MEDIOS DATOS = Mejillones MEAN STD; /* le dice a PROC MEANS que calcule la media y la desviación estándar */
VAR longitud ancho loglength; /* le dice a PROC MEANS qué variables analizar */
RUN; /* hace que PROC MEANS corra */
Ahora que ya ha leído una introducción básica a SAS, armarla todo y ejecutar un programa SAS. Conéctese a su mainframe y use pico para crear un archivo llamado “practice.sas”. Copia y pega lo siguiente en el archivo:
DATOS mejillones; especies
INPUT $ largo ancho;
loglength=log10 (largo);
shellratio=ancho/largo;
DATALINES;
edulis 49.0 11.0
tross 51.2 9.1
tross 45.9 9.4
edulis 56.2 13.2
edulis 52.7 10.7
edulis 48.4 10.4
tross 47.6 9.5
tross 46.2 8.9
tross 37.2 7.1
;
PROC MEDIOS DATOS = Mejillones MEAN STD;
VAR largo ancho loglength;
RUN;
Después salga pico (hit control-x). En el símbolo del signo de dólar, ingrese sas practice.sas. Después ingresa ls para enumerar los nombres de los archivos; deberías ver nuevos archivos llamados practice.log y practicar.lst. Primero, ingresa cat practice.log para mirar el archivo de registro. Esto le dirá si hay algún error en su programa SAS. Después ingresa cat practice.lst para ver la salida de tu programa. Deberías ver algo como thi
El Sistema SAS: El Procedimiento MEDIOS
Variable Media Std Dev
—
largo 48.2666667 5.2978769
ancho 9.9222222 1.6909892
loglength 1.6811625 0.0501703
Si lo haces, has ejecutado SAS con éxito. ¡Yay!
PROC SORT y PROC PRINT
Describo procedimientos estadísticos específicos en la página web para cada prueba. Dos que son de uso general son PROC SORT y PROC PRINT. PROC SORT ordena los datos por una o más variables. Para algunos procedimientos, primero es necesario ordenar los datos. PROC PRINT escribe el conjunto de datos, incluidas las nuevas variables que hayas creado (como loglength y shellratio en nuestro ejemplo) en el archivo de salida. Puede usarlo para asegurarse de que SAS haya leído los datos correctamente, y que sus transformaciones, clasificación, etc. hayan funcionado correctamente. Se pueden ordenar los datos por más de una variable; en este ejemplo se ordenan los datos del mejillón, primero por especie, luego por longitud.
PROC SORT data=Mejillones;
POR longitud de especie;
RUN;
PROC PRINT data=Mejillones;
CORRE;
Agregar PROC SORT y PROC PRINT al archivo SAS produce la siguiente salida:
El Sistema SAS
Obs especies largo ancho loglength shellratio
1 edulis 48.4 10.4 1.68485 0.21488
2 edulis 49.0 11.0 1.69020 0.22449
3 edulis 52.7 10.7 1.72181 0.20304
4 edulis 56.2 13.2 1.74974 0.23488
5 trossulus 37.2 7.1 1.57054 0.19086
6 trossulus 45.9 9.4 1.66181 0.20479
7 trossulo 46.2 8.9 1.66464 0.19264
8 trossulo 47.6 9.5 1.67761 0.19958
9 trossulo 51.2 9.1 1.70927 0.17773
Como puede ver, los datos fueron ordenados primero por especies, luego dentro de cada especie, fueron ordenados por longitud.
Gráficas en SAS
Es posible dibujar gráficas con SAS, pero no me parece muy fácil. Te recomiendo que tomes los números que necesites de SAS, ponlos en una hoja de cálculo o programa de gráficos especializado, y utilízalos para dibujar tus gráficas.
Obtener datos de una hoja de cálculo a SAS
Me resulta más fácil ingresar primero mis datos en una hoja de cálculo, incluso si voy a analizarlos usando SAS. Pero si intenta copiar datos directamente de una hoja de cálculo a un archivo SAS, los números estarán separados por tabulaciones, lo que SAS se ahogará; su archivo de registro dirá “NOTA: Datos no válidos en línea...”. Para que SAS reconozca datos separados por tabulaciones, utilice la opción DELITIER en una instrucción INFILE. Para los datos en línea, agregue una instrucción INFILE DATALINES DELITER='09'x; antes de la instrucción INPUT (SAS llama a pestañas '09'x):
DATA mejillones;
INFILE DATALINES DELITE='09'x; especies
INPUT $ largo ancho;
DATALINES;
edulis 49.0 11.0
tross 51.2 9.1
tross 45.9 9.4
edulis 56.2 13.2
edulis 52.7 10.7
edulis 48.4 10.4
tross 47.6 9.5
tross 46.2 8.9
tross 37.2 7.1
;
Si tus datos están en un archivo separado, incluyes delimiter='09'x en la declaración INFILE así:
DATA mejillones;
INFILE 'shells.dat' delimiter='09'x; especies
INPUT $ largo ancho;
Más información sobre SAS
Los manuales de usuario para SAS están disponibles en línea de forma gratuita. Son esenciales para los usuarios avanzados, pero no son muy útiles para los principiantes.
El UCLA Academic Technology Services ha reunido un excelente conjunto de ejemplos de cómo hacer las pruebas estadísticas más comunes en SAS, SPSS o Stata; es un buen lugar para comenzar si buscas más información sobre una prueba en particular.