Mathematics">
RStudio-Práctica 1
RStudio-Práctica 1
RStudio-Práctica 1
1. Introducción a R
1.1. El proyecto R y el programa
En el proyecto R se puede conseguir el programa, y conocer todo lo que le rodea.
Instala y ejecuta “R” en el equipo.
R Console: terminal donde programar y obtener resultados.
Recomendaciones:
o Comparte el escritorio entre la consola de R y el navegador de internet con
este documento.
o La interfaz RStudio es muy conveniente, aunque aquí no la vamos a
explicar.
Menú Archivo de la consola de R:
o Cambiar dir...: establece la ruta para interactuar con ficheros.
o Guardar área de trabajo: crea fichero con sesión de R (para
continuación).
o Cargar área de trabajo: carga fichero con sesión de R guardada.
En RStudio está dentro del menú Session.
5+3 # suma
5-3 # resta
5*3 # producto
5/3 # cociente
5/0 # sorpresa: R maneja el infinito
0/0 # sorpresa: R maneja las indeterminaciones (NaN, Not a Number)
5^3 # potencia
sqrt(5) # raíz cuadrada
exp(5) # el número "e" elevado a (función exponencial)
log(5) # logaritmo neperiano
log10(5) # logartimo en base 10
pi # el número "pi" está definido
sin(pi/2) # la función seno (ángulo en radianes)
factorial(5) # el factorial, 5!
choose(5,3) # número combinatorio (5 sobre 3)
e−5 y (207)0.470.613(207)0.470.613.
Sol.: 0.16981130.1698113, 0.14622280.1462228 y 0.16588230.1658823.
FIN EJERCICIO 1
2. Variable tipo vector
Es el tipo de variable más básico del lenguaje R.
Es una lista ordenada de constantes (números, cadenas de texto entrecomilladas,
o lógicos TRUE/FALSE).
Ideal para albergar muestras univariantes (cuantitativas o cualitativas).
Se pueden leer desde ficheros con la función scan() (no la vamos a trabajar, pide
ayuda help(scan) si necesitas saber más).
Si se invoca en la línea de comandos, se imprime en pantalla, por filas, con un
indicador de la posición de la componente más a la izquierda de cada fila.
ls()
1:10
10:1
v3
length(v3)
sum(v3)
prod(v3)
sort(v3)
sort(v3, decreasing=TRUE)
sqrt(v3)
v3 < 3
which(v3<3)
v3 == 5
which(v3==5)
1. 1+2+3+⋯+10001+2+3+⋯+1000
o Sol.: 500500500500
2. 1+2+4+8+16+⋯+10241+2+4+8+16+⋯+1024
o Sol.: 20472047
FIN EJERCICIO 2
EJERCICIO 3: El vector grupo representa el grupo al que pertenece una serie de
alumnos.
1. Visualízalo en pantalla
o Sol.: -
2. ¿Cuántas componentes tiene?
o Sol.: 192192
3. ¿En qué posiciones del vector está la letra ‘A’?
o Sol.: 2,8,17,21,28,84,101,108,111,115,123,136,190,192 2,8,17,21,28,8
4,101,108,111,115,123,136,190,192
FIN EJERCICIO 3
EJERCICIO 4: El vector nota representa la nota de un examen, de los mismos alumnos
cuyo grupo se ha guardado en el vector grupo, y en el mismo orden.
1. Visualízalo en pantalla
o Sol.: -
2. ¿Cuántas componentes tiene?
o Sol.: 192192
3. ¿Cuánto suman todas las notas?
o Sol.: 962962
4. ¿Cuál es la media aritmética de todas las notas?
o Sol.: 5.01041675.0104167
5. ¿En qué posiciones están las notas mayores de 7.07.0?
o Sol.: 81,103,120,15181,103,120,151
6. Visualiza las notas ordenadas de menor a mayor
o Sol.: -
7. Visualiza las notas ordenadas de mayor a menor
o Sol.: -
8. ¿Cuál ha sido la nota máxima?
o Sol.: 7.77.7
9. ¿En qué posición del vector está esa nota máxima?
o Sol.: 120120
FIN EJERCICIO 4
3. Subvectores
A veces interesa una parte de la muestra, por lo que es muy habitual usar este
operador.
El operador corchete [] selecciona componentes de un vector.
Ejemplo: copia y pega el siguente bloque en la consola de R
v3
v3[2] # la segunda componente
v3[-2] # todo menos la segunda componente
v3[1:3] # la 1a, 2a y 3a comp.
v3[ c(2,5) ] # la 2a y la 5a componente ( ojo a la c() necesaria )
v3[ c(TRUE,TRUE,FALSE)] # 1a y 2a sí, 3a no, etc.
v3[ v3<4 ] # las comp. que cumplen la condición v3<4 (los TRUEs)
v3[ v3>1 & v3<4 ] # las comp. que cumplen v3>1 y v3<4
FIN EJERCICIO 5
nota2 = nota
nota
nota2
nota2[ nota < 5 ] = 'Suspenso'
nota2
nota2[ nota >= 5 ] = 'Aprobado'
nota2
4. Estadística descriptiva de una
variable con R
4.1 La muestra
Los datos a analizar deben estar almacenados en una variable de tipo vector.
Llamaremos x al vector con los datos de la muestra.
Pero puede tener cualquier nombre, o estar indexado con el operador
corchete para usar parte de un vector.
4.3.2 Gráficas:
Diagrama de barras: barplot(height=table(x))
Diagrama de sectores (tarta): pie(x=table(x))
4.4.2 Estadísticos:
Media: mean(x)
Mediana: median(x)
Mínimo: min(x)
Máximo: max(x)
Cuantil de orden pp: quantile(x, prob=pp)
Recorrido: hay que calcularlo con su definición (max(x)-min(x)).
Recorrido intercuartílico: IQR(x)
Cuasivarianza: var(x)
Cuasidesviación típica: sd(x)
Varianza: ¡No está programada! Se puede conseguir con la
operación var(x)*(length(x)-1)/length(x)
Desviación típica: ¡No está programada! Se puede conseguir con la
operación sd(x)*sqrt((length(x)-1)/length(x))
Coeficiente de variación: ¡No está programado! Se puede conseguir una versión
“cuasi” con la operación sd(x)/abs(mean(x)), y la versión “sin cuasi” con la
operación (sd(x)*sqrt((length(x)-1)/length(x)))/abs(mean(x)).
4.4.3 Gráficos
Diagrama de puntos: stripchart(x) (para pocos datos)
Histograma: hist(x, breaks, ...)
o x los datos
o breaks el número de intervalos, o el vector con los extremos sucesivos
Diagrama de caja: boxplot(...) (se pueden poner varias muestras para
comparar)
FIN EJERCICIO 7
EJERCICIO 8: Calcula la nota media y la cuasidesviación típica de cada grupo.
Sol.: A = 4.54285714.5428571 y 0.73139940.7313994; B
= 5.12173915.1217391 y 1.1855021.185502; C
= 5.22820515.2282051 y 1.01746561.0174656; D
= 4.77962964.7796296 y 1.03475081.0347508; E
= 5.13870975.1387097 y 1.11404671.1140467.
FIN EJERCICIO 8
EJERCICIO 9: Calcula el percentil 66 de las notas de todos los alumnos, y también de los
alumnos del grupo C.
Sol.: 5.55.5 y 5.8085.808.
FIN EJERCICIO 9
EJERCICIO 10: Un alumno tiene una nota de 4.9. ¿Qué porcentaje, del total de alumnos,
tiene una nota menor o igual que la suya? ¿Y qué porcentaje tiene una nota mayor o igual
que la suya?
Sol.: 46.87546.875% y 56.2556.25%
FIN EJERCICIO 10
EJERCICIO 11: Dibuja los diagramas de caja de las notas de cada grupo, para comparar
el nivel de los grupos.
FIN EJERCICIO 11
5. Ejercicios de entrenamiento
EJERCICIO 12: Los siguientes vectores contienen datos sobre una muestra de coches
americanos. Cada vector representa:
de modo que el primer datos de cada vector es del mismo coche, y así sucesivamente.
Realiza las siguientes tareas de análisis de datos:
FIN EJERCICIO 12
EJERCICIO 13: Si la variable conc recoge la concentración de plomo (en ppm) en el aire
de cierta zona durante un día completo (1 muestreo cada 5 minutos):
FIN EJERCICIO 13