Está en la página 1de 8

1

1.1

Instalacin
Instalar R-Comander
www.r-project.org

Pgina Web:

download R Spain http://cran.es.r-project.org/ para Windows Download R 2.11.1 for windows Ejecutar componentes Aadir: Technical Manuals PDF help pages Utilizar opciones de conguracin marcar SI para luego marcar SDI (ventanas separadas) Al abrir el programa y desde paquetes: instalar paquetes Spain ; Rcmdr y cargar todo lo que te proponga.

1.2

Lanzar R-Comander

Si quiere lanzar R Commander cuando inicie R, puede incluir la siguiente instruccin en uno de los cheros de inicio de R (por ejemplo, en el chero Rprole.site de la carpeta etc de R): ARCHIVOS DE PROGRAMA/R/R.2.11.1/ETC/Rprole.site local({ old <- getOption("defaultPackages") options(defaultPackages = c(old, "Rcmdr")) })

1.3

Trabajar en un determinado directorio

Para que el R por defecto lea y guarde los datos en un determinado directorio (y no tener que estar buscando el directorio cada vez) FICHERO/CAMBIAR DIRECTORIO DE TRABAJO Esto hay que hacerlo en cada sesin, si lo que queremos es cambiar el directorio de trabajo para siempre, en windows, antes de abrir el R: INICIO/TODOS LOS PROGRAMAS/R/ con el botn de la derecha R2.11.1, PROPIEDADES, y donde ponga INICIAR EN: escribimos el path, por ejemplo D:\Loly\clases\EstadistG309_10.

2
2.1

Datos
Cargar datos

Caso 1.- Datos que tenemos en formato *.sf3 (formato de Statgraphics) Se guardan los datos en formato ARCHIVO DE TEXTO (*.txt) (jarse si las variable tienen nombre o no) En el R comander Forma 1.DATOS/IMPORTAR DATOS/DESDE ARCHIVO DE TEXTO, PORTAPAPELES O URL/ Rellenar la ventana teniendo en cuenta que el Separador de campos es Tabuladores Lo guardo en formato R DATOS/CONJUNTO DE DATOS ACTIVO/GUARDAR EL CONJUNTO DE DATOS ACTIVO.../ Forma 2.- En linea de comandos (yo he guardado el chero dado.txt en el directorio D:/Loly/clases/EstadistG309_10/datosR/dado.txt) DADO<-read.table("D:/Loly/clases/EstadistG309_10/datosR/dado.txt",header=TRUE, sep="",na.strings="NA",dec=".",strip.white=TRUE) (header=TRUE si los datos tienen nombre de las variables, en caso contrario FALSE) Guardamos los datos: save("DADO", le="D:/Loly/clases/EstadistG309_10/datosR/DADO.rda")

Caso 2.- Datos que provienen de excell Guardar los datos como: Texto (delimitado por tabulaciones) Nos dice que no guardar las cosas que no sean de texto plano, le decimos aceptar y si. En el R-Comander elegimos: DATOS/IMPORTAR DATOS/DESDE ARCHIVO DE TEXTO, PORTAPAPELES O URL/ En la ventana escogemos las opciones como en el caso anterior (si tiene nombre, si usamos el punto decimal o no,...) pero en el campo de Separadores escogemos tabulacin Caso 3.- Generacin de datos con una distribucin DISTRIBUCIONES/-escoger continua o discreta- / -escoger distribucinLos parmetros que nos piden son: el nombre de la nueva variable, los parmetros de sta, el nmero de muestras y el tamao de las muestras. Permite aadir algunas medidas de las muestras generadas.

2.2

Guardar datos:

En el R-Comander elegimos: DATOS/CONJUNTO DE DATOS ACTIVO/GUARDAR EL CONJUNTO DE DATOS ACTIVO O escribimos en la lnea de comandos: save("DADO", le="D:/Loly/clases/EstadistG309_10/datosR/DADO.rda")

3
3.1

Descriptiva
Obtener una tabla de frecuencias

Si los datos son cualitativos, nos los hace en el resumen: ESTADSTICOS/RESUMEN/CONJUNTO DE DATOS ACTIVO Si los datos son cuantitativos discretos: table(datos$var1) Si los datos son continuos o discretos con muchas clases, lo anterior nos agrupar cada dato con frecuencia absoluta 1. En este caso lo que hacemos es que nos agrupe los datos con un histograma y modicamos la orden: GRFICAS/HISTOGRAMA/ la orden es: Hist(datos$var1, scale="frequency", breaks="Sturges", col="darkgray")

La modicamos cambiando el Hist -con H mayscula- por hist -con h minscula- y le aadimos la opcin de que no lo dibuje: hist(datos$var1, scale="frequency", breaks="Sturges", col="darkgray",plot=FALSE) Nos dar los lmite de las clases ($breaks), la frecuencia absoluta de cada clase ($counts), las alturas relativas de cada una de las barras ($densities), la marca de cada clase ($mids) y el nombre de la variables analizada ($xname).

3.2

Cambiar las clases de un histograma

Cuando hacemos un histograma, el estima por defecto un nmero de clases. Adems, en la ventana que nos abre, nos permite introducir el nmero de clases que queremos. Pero si queremos ser ms precisos en los lmites de las clases, tenemos que cambiar las opciones de la funcin Hist: Nmero de clases automtico

Hist(ANCHURAAPROX$metros, scale="frequency", breaks="Sturges", col="darkgray") Hist(ANCHURAAPROX$metros, scale="frequency", breaks=20, col="darkgray")

Nmeros de clases determinado -observar el parmetro breaks

Si ahora queremos introducir las clases en (5, 9, 13, 17, 21, 25, 30, 40) ,podemos hacerlo de forma manual: Hist(ANCHURAAPROX$metros, scale="frequency", breaks=c(5,9,13,17,21,25,30,40), col="darkgray") En este caso, si las clases son muchas, puede ser un poco pesado introducir todos los lmites de las clases. Algunas rdenes que nos pueden simplicar este trabajo son c(1:10) #es la sucesin de nmeros de 1 a 10 de 1 en 1 seq(5,40,by=4) # es la sucesin de nmeros de 5 a 40 de 4 en 4.

3.3

Cmo hacer un diagrama de barras de los datos agrupados por frecuencias

Por ejemplo, escribimos o cargamos los datos de viviendas del problema 2, Tema 1. Para hacer un diagrama de barras Grcas/Grca de Barras/var1 Nota.- No nos deja var 2 porque es numrica y el diagrama de barras es para variables cualitativa. No es lo que queremos, pero podemos ver la orden que escribe el R barplot(table(viviendas$var1), xlab="var1", ylab="Frequency") table(viviendas$var1) es la orden "construye una tabla de frecuencias de viviendas$var1". Pero eso ya lo tenemos, es justo viviendas$var2, entonces escribimos barplot(viviendas$var2, xlab="var2", ylab="Frequency") Slo nos falta colocarle los nombres de las barritas, eso lo hacemos dicindole que los nombres estn en viviendas$var1. 4

barplot(viviendas$var2, names.arg=viviendas$var1,xlab="var1", ylab="Frequency") Podemos quitar el ttulo del eje de las x (xlab="var1") o poner nuestro ttulo (xlab="Viviendas").

3.4

Diagrama de Pareto

Tenemos que ordenar el diagrama de barras anterior. Es un poco para nota: si la frecuencia esta en *$var2 y las etiquetas en *$var1, la orden sera: barplot(sort(viviendas$var2,decreasing=TRUE),names.arg=viviendas$var1[order(viviendas$var2, decreasing=TRUE)], xlab="var1", ylab="Frequency")

3.5

Diagrama de sectores

Seguimos las mismas instrucciones que en el caso anterior. Si hacemos Grcas/Grca de Sectores/var1 En la lnea de comandos se escribe pie(table(viviendas$var1), labels=levels(viviendas$var1), main="var1", col=rainbow_hcl(length(levels(viviendas$var1)))) Nosotros lo corregimos, quitamos table(...) y tambin levels pie(viviendas$var2,labels=viviendas$var1, main="viviendas", col=rainbow_hcl(length(levels(viviendas$var1))))

3.6

Filtrar Conjunto de Datos (Problema 9 y 16)

Tanto en los datos de COLEOPTEROS como en los de ETRUSCOS es necesarios comparar dos submuestras. En el caso de COLEOPTEROS, las submuestras vienen determinadas por la variable sexo, que est codicada como "0" y "1". El R-comander la entiende como numrica y hay que decirle que no, que es un factor: DATOS/MODIFICAR VARIABLES DEL CONJUNTO DE DATOS ACTIVO/CONVERTIR VARIABLE NUMRICA EN FACTOR/ Se selecciona la variable de inters y escogemos nombres (macho y hembra) o se utilizan nmeros (0 y 1). Si queremos analizar slo uno de los sexo, ltramos el conjunto de datos: DATOS/CONJUNTO DE DATOS ACTIVO/FILTRAR CONJUNTO DE DATOS ACTIVO Seleccionamos la variable que queremos analizar (elitros), la expresion de la seleccin (sexo == 0 ) y 5

el nombre (macho). Ahora existe una seleccin macho$elitros que podemos analizar. NOTA.- Resaltar que para seleccionar hay que escribir doble igual (sexo == 0 ) Si ahora quiero hacer un boxplot mltiple, primero creo hembras$elitro, vuelvo al conjunto de datos COLEOPTEROS y hago lo mismo que en machos pero con sexo == 1, hacemos el boxplot: GRFICAS/DIAGRAMA DE CAJAS/ELITROS La orden del R-Comander es boxplot(hembras$elitros, ylab="elitros") La reescribimos: boxplot(machos$elitros,hembras$elitros, ylab="elitros") Y si queremos poner ttulo para saber a quin corresponde cada diagrama de cajas escribimos boxplot(machos$elitros,hembras$elitros, names=c("machos","hembras"),ylab="elitros")

Para el chero ETRUSCOS el proceso sera el mismo pero con dos diferencias La variable codigo, esta escrita con "e" "i", que no son nmeros, la entinede como un factor y no hay que convertirla. Como la codicacin ("e","i") son caracteres, no nmeros, cuando ltremos hay que poner codigo = ="e", es decir, el cdigo entre comillas. NOTA.- Tener cuidado con llamar a los subconjuntos "etruscos" e "italianos", porque "etruscos" es tambin el nombre del chero.

3.7

Tabla de Contingencia (problema 23)

Introducimos los datos como una tabla de contingencia ESTADISTICOS/TABLAS DE CONTINGENCIA/ INTRODUCIR Y ANALIZAR UNA TABLA DE CONTINGENCIA... Le pedimos 5 las, 4 columnas y metemos los datos (aunque en la hoja de problemas no aparezca, hay que introducir los ceros, no es lo mismo un dato igual a cero que un dato faltante) Le pedimos que nos calcule los porcentajes totales (los calcula por las y por columnas) y la tabla de frecuencia esperada. En la linea de comandos sale: .Table <- matrix(c(0,7,0,0,12,21,0,0,4,4,3,0,0,2,0,2,0,1,0,0),5,4, byrow=TRUE)

rownames(.Table) <- c(1, 2, 3, 4, 5) colnames(.Table) <- c(1, 2, 3, 4) .Table # Counts totPercents(.Table) # Percentage of Total Aqu podemos editar los datos, si queremos que la tabla se llame "tornillos" y las las y las columnas tengan las etiquetas del problema, modicamos y volvemos a ejecutar: .tornillo <- matrix(c(0,7,0,0,12,21,0,0,4,4,3,0,0,2,0,2,0,1,0,0),5,4, byrow=TRUE) rownames(.tornillo) <- c(20, 21, 22, 23, 24) colnames(.tornillo) <- c(4, 5, 6, 7) .tornillo # Counts totPercents(.tornillo) # Percentage of Total NOTA.- Cuidado con el punto que hay antes del nombre, es .tornillo NOTA.- Todo lo que hay escrito despus de #, no lo lee, eso indica que es un comentario y no se ejecuta Las marginales las saca en la tabla, para obtener las condicionadas, hay que coger la tercera la (la que tenga la etiqueta 22) de mis datos y dividirla por la suma de esa misma la: x<-.tornillos[rownames(.tornillos)==22,] #extrae la la con etiqueta 22 de .tornillos x/sum(x) Se puede hacer en una sola orden: .tornillos[rownames(.tornillos)==22,]/sum(.tornillos[rownames(.tornillos)==22,]) Para el ltimo apartado, si fuesen independientes, las condicionales sera iguales a las marginales, ya que: P (Y = 4, X = a) P (Y = 4) P (X = a) = = P (Y = 4) P (X = a) P (X = a)

P (Y = 4 |X = a ) = para cualquier a.

Escribimos los tres vectores y como vemos que son tan diferentes es que no son independientes.

3.8

Transformaciones

La secuencia de rdenes: DATOS/MODIFICAR VARIABLES DEL CONJUNTO DE DATOS ACTIVO/CALCULAR UNA NUEVA VARIABLE

nos piden el nombre de la nueva variable y la expresin a calcular. Las ms habituales son: 1/var1, var1^2, sqrt(var1) y log(var1). Podemos hacer la transformacin que tipica la variable con las rdenes: DATOS/MODIFICAR VARIABLES DEL CONJUNTO DE DATOS ACTIVO/TIPIFICAR VARIABLES

4
4.1

Grcos
Histrico de Grcos

Cuando hacemos un grco, que queremos conservar (para compararlo posteriormente con otro, por ejemplo), en el grco seleccionamos HISTRICO/AGREGAR Eso nos permite movernos por HISTRICO/ANTERIOR HISTRICO/POSTERIOR con los grcos ya realizados.

También podría gustarte