Documentos de Académico
Documentos de Profesional
Documentos de Cultura
###### EJERCICIO 1
## ejecutarlo de nuevo. En la máquina virtual no hay que ejecutarlo porque el paquete está
instalado por defecto, pero otros
## paquetes podrán requerirlo con cada uso de la máquina virtual (comprobarlo que están
instalados en la pestaña packages)
df <- read_xlsx("dataset_1.xlsx", sheet = "adults") ## este comando será necesario para cargar
la tabla de datos a nuestra
df <- as.data.frame(df) #comando no del todo necesario, pero que luego hará los resultados
más facilmente interpretables por
## otras funciones de R.
###### EJERCICIO 2
5>4
10 <= 8
xabi <= 6
z <- 5
5<4
5<6
5<z
5>4
5>6
5>z
5 <= 4
5 <= 6
5 <= z
5 >= 4
5 >= 6
5 >= z
5 == 4
5 == 6
5 == z
5 != 4
5 != 6
5 != z
## ! es el 'not', o "lo contrario a". Siempre precede a la expresión (not TRUE significa FALSE y
viceversa)
!TRUE
!FALSE
!(5 > 4)
!(5 > 6)
!(5 > z)
## EJERCICIO 2.1
df$Sex # y compruebo que este comando accede a la variable de género que me interesa
## EJERCICIO 2.2
## EJERCICIO 3
## EJERCICIO 3.1
# buscando en la web se puede encontrar que la función sd() devuelve la desviación estándar
de un conjunto de valores
# como ejemplo
print(sd(df$Planeation))
print(sd(df$Age))
## EJERCICIO 3.2
# en el primer ejemplo del ejercicio anterior, se puede observar que el resultado de la función
es NA (not applicable).
# Esto es porque R siempre quiere que reconozcamos que hay valores perdidos en nuestra
tabla de datos. Dado que la columna
# "Planeation" hay valores NA, R quiere que seamos explicitos en el caso que queramos
ignorarlos. Para ello, tendremos que
# Sería fácil diseñar R para que ignorara los valores perdidos en la tabla, pero no es lo que
decidieron los que
# crearon R. Sin embargo no optaron por es, es una convención de R; si quieres seguir
adelante, que sea con plena
## EJERCICIO 3.3
# Opción 1: usar dim para conocer el número de filas de una tabla sólo de mujeres
index_females <- df$Sex==1 #analogamente al ejercicio 2.1, obtengo un ínidice de las mujeres
total_sujetos <- dim(df)[1] #obtengo el primer valor de las dimensiones de la tabla general (en
número de filas, es decir
# el total de mujeres)
# en números (hay que pensar que aunque por convención se llamen TRUE y FALSE pueden ser
cualquier variable binaria,
as.numeric(df$Sex)
chicas <- as.numeric(!df$Sex) # si les "doy la vuelta" con !, de manera que las chicas son TRUE,
puedo obtener un 1 por cada
total_sujetos2 <- sum(chicas)/dim(df)[1] # sumo esos 1 y los divido entre las dimensiones de la
tabla completa
print(total_sujetos2)
# Opción 3 (muy difícil, pero muy rápido): mean() transforma los valores TRUE y FALSE
automáticamente en 1 y 0
total_sujetos3 <- mean(!df$Sex) # como la media suma los valores y lo divide entre el número
de valores, la función resulta
print(total_sujetos3)
## EJERCICIO 3.4
edades <- df$Age #voy a guardar las edades en otra variable, aunque no es necesario
print(media_edad)
print(sd_edad)
## EJERCICIO 3.5
# de nuevo
a <- mean(age_males)
b <- mean(age_females)
print (a-b)
# la diferencia de medias es tan solo de 4 años... Aunque no forma parte del ejercicio también
podemos comparar las medianas
a2 <- median(age_males)
b2 <- median(age_females)
print (a2-b2)
# la diferencia es algo menor, pero no excesiva. Pero parece que los hombres son algo mayores
que las mujeres en nuestra
# en la edad adulta para la consecución de un test de inteligencia? El tamaño del efecto parece
lo suficientemente pequeño como para ser ignorado.