El conjunto de datos “survey” se encuentra alojado en el paquete MASS. Cargue este paquete y, a continuación, active dicho conjunto de datos en el ordenador. Este dataframe contiene las respuestas de varios estudiantes a una serie de cuestiones.
library(MASS)
data(survey)
head(survey)
## Sex Wr.Hnd NW.Hnd W.Hnd Fold Pulse Clap Exer Smoke Height M.I
## 1 Female 18.5 18.0 Right R on L 92 Left Some Never 173.00 Metric
## 2 Male 19.5 20.5 Left R on L 104 Left None Regul 177.80 Imperial
## 3 Male 18.0 13.3 Right L on R 87 Neither None Occas NA <NA>
## 4 Male 18.8 18.9 Right R on L NA Neither None Never 160.00 Metric
## 5 Male 20.0 20.0 Right Neither 35 Right Some Never 165.00 Metric
## 6 Female 18.0 17.7 Right L on R 64 Right Some Never 172.72 Imperial
## Age
## 1 18.250
## 2 17.583
## 3 16.917
## 4 20.333
## 5 23.667
## 6 21.000
help(survey)
## starting httpd help server ... done
La variables sex
corresponde al sexo del encuestado,
smoke
informa de cuánto fuma cada uno de esos estudiantes,
mientras que la variable Exer
reproduce la frecuencia con
la que realiza ejercicio físico. Mediante los comandos oportunos,
muestre los niveles de cada una de esas variables.
levels(survey$Exer)
## [1] "Freq" "None" "Some"
levels(survey$Smoke)
## [1] "Heavy" "Never" "Occas" "Regul"
levels(survey$Sex)
## [1] "Female" "Male"
Cree una tabla que resuma las frecuencias absolutas entre la variable
smoke
y la variable sex
<- table(survey$Smoke, survey$Sex)
tabla1 tabla1
##
## Female Male
## Heavy 5 6
## Never 99 89
## Occas 9 10
## Regul 5 12
Represente mediante un gráfico de barras apiladas las frecuencias de las variables anteriores. En este gráfico incluya las etiquetas del eje x (“Sexo”) y del eje y (“Número de respuestas”), y ajuste los valores del eje y a los valores de las barras para que éstas no sobresalgan respecto al eje.
barplot(tabla1,
legend = rownames(tabla1),
beside=F,
axis.lty = 1,
xlab = "Sexo",
ylab = "Número de respuestas",
ylim = c(0,120))
Cree un gráfico de mosaico para examinar la relación entre ambas variables.
mosaicplot(tabla1,
color=TRUE,
main="Gráfico de mosaico")
Cree otra tabla de frecuencias absolutas entre las variables fumadores (Smoke) y la variable ejercicio (Exer).
<- table(survey$Smoke, survey$Exer)
tabla2 tabla2
##
## Freq None Some
## Heavy 7 1 3
## Never 87 18 84
## Occas 12 3 4
## Regul 9 1 7
Represente mediante un gráfico de barras adyacentes las frecuencias
de ambas variables. En este gráfico incluya las etiquetas del eje x
(“Frecuencia de uso del tabaco”) y del eje y (“Número de respuestas”), y
ajuste los valores del eje y a los valores de las barras para que éstas
no sobresalgan respecto al eje. Haga corresponder a la categoría
Heavy
el color rojo, a Never
el color verde, a
Occas
el color amarillo y a Regul
el color
naranja.
barplot(tabla2,
legend = rownames(tabla2),
beside= TRUE,
axis.lty = 1,
col = c("red", "green", "yellow", "orange"),
xlab = "Frecuencia del uso del tabaco",
ylab = "Número de respuestas",
ylim = c(0,100))
Cree un gráfico de mosaico para examinar la relación entre la variable fumadores y la variable ejercicio.
mosaicplot(tabla2,
color=TRUE,
main="Plot de mosaico")
Aplique la prueba de Chi cuadradro para verificar la independencia entre variables a ambas tablas de contingencia. A partir de los resultados, señale si existe relación entre variables.
chisq.test(tabla1)
##
## Pearson's Chi-squared test
##
## data: tabla1
## X-squared = 3.5536, df = 3, p-value = 0.3139
chisq.test(tabla2)
## Warning in chisq.test(tabla2): Chi-squared approximation may be incorrect
##
## Pearson's Chi-squared test
##
## data: tabla2
## X-squared = 5.4885, df = 6, p-value = 0.4828
En ese ejericico vamos a utilizar el conjunto de datos
iris. Importe ese conjunto de datos y conviértalo en un objeto denominado ``flores
.
data(iris)
<- iris
flores str(flores)
## 'data.frame': 150 obs. of 5 variables:
## $ Sepal.Length: num 5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...
## $ Sepal.Width : num 3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ...
## $ Petal.Length: num 1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ...
## $ Petal.Width : num 0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ...
## $ Species : Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 1 1 1 1 1 1 ...
Crea una nueva variable (variable cualitativa nominal) que
recodifique la variable longitud de pétalo (Petal.Length
)
en dos categorías (pequeña
y mediana
), en
función del valor de la mediana.
<- median(flores$Petal.Length)
mediana
$longitud_petalo [flores$Petal.Length <= mediana] <- "pequeña"
flores$longitud_petalo [flores$Petal.Length > mediana] <- "grande" flores
Cree otra tabla de frecuencias absolutas entre la variable
Species
y la variable longitud_pétalo
creada
en la línea anterior.
<- table(flores$Species, flores$longitud_petalo)
tabla3 tabla3
##
## grande pequeña
## setosa 0 50
## versicolor 25 25
## virginica 50 0
Represente mediante un gráfico de barras apiladas las frecuencias de
las variables Species
y longitud_pétalo
.
Deberá combinar los colores rojo, verde y amarillo en las barras, e
incluir las etiquetas “Tamaño del pétalo” (eje X) y “Número de
ejemplares” (eje Y).
barplot(tabla3,
legend = rownames(tabla3),
beside= FALSE,
axis.lty = 1,
col = c("red", "green", "yellow"),
xlab = "Tamaño del pétalo",
ylab = "Número de ejemplares",
ylim = c(0,100))
Aplique la prueba de Chi cuadradro para verificar la independencia entre
chisq.test(tabla3)
##
## Pearson's Chi-squared test
##
## data: tabla3
## X-squared = 100, df = 2, p-value < 2.2e-16
El dataset “mtcars” contiene los detalles técnicos de los conches disponibles en un concesionario de automóviles. De ese dataset nos interesan las siguientes variables: - vs: tipo de motor (0 = en V, 1 = lineal) - ame: tipo de transmisión (0 = automática, 1 = manual). - gear: número de marchas (excluyendo la marcha atrás). - carb: número de carburadores.
A partir de esos datos
data(mtcars)
str(mtcars)
## 'data.frame': 32 obs. of 11 variables:
## $ mpg : num 21 21 22.8 21.4 18.7 18.1 14.3 24.4 22.8 19.2 ...
## $ cyl : num 6 6 4 6 8 6 8 4 4 6 ...
## $ disp: num 160 160 108 258 360 ...
## $ hp : num 110 110 93 110 175 105 245 62 95 123 ...
## $ drat: num 3.9 3.9 3.85 3.08 3.15 2.76 3.21 3.69 3.92 3.92 ...
## $ wt : num 2.62 2.88 2.32 3.21 3.44 ...
## $ qsec: num 16.5 17 18.6 19.4 17 ...
## $ vs : num 0 0 1 1 0 1 0 1 1 1 ...
## $ am : num 1 1 1 0 0 0 0 0 0 0 ...
## $ gear: num 4 4 4 3 3 3 3 4 4 4 ...
## $ carb: num 4 4 1 1 2 1 4 2 2 4 ...
help(mtcars)
Elabora unas tablas de frecuenica que relacionen las parejas
vs-am
, gear-carb
y cyl-gear
.
<- table(mtcars$vs, mtcars$am)
vsAm vsAm
##
## 0 1
## 0 12 6
## 1 7 7
<- table(mtcars$gear,mtcars$carb)
gearCarb gearCarb
##
## 1 2 3 4 6 8
## 3 3 4 3 5 0 0
## 4 4 4 0 4 0 0
## 5 0 2 0 1 1 1
<- table(mtcars$cyl,mtcars$gear)
cylGear cylGear
##
## 3 4 5
## 4 1 8 2
## 6 2 4 1
## 8 12 0 2
Somete cada una de esas parejas a una prueba de Chi-cuadrado para determinar la independencia de las relaciones:
chisq.test(vsAm)
##
## Pearson's Chi-squared test with Yates' continuity correction
##
## data: vsAm
## X-squared = 0.34754, df = 1, p-value = 0.5555
chisq.test(gearCarb)
## Warning in chisq.test(gearCarb): Chi-squared approximation may be incorrect
##
## Pearson's Chi-squared test
##
## data: gearCarb
## X-squared = 16.518, df = 10, p-value = 0.08573
chisq.test(cylGear)
## Warning in chisq.test(cylGear): Chi-squared approximation may be incorrect
##
## Pearson's Chi-squared test
##
## data: cylGear
## X-squared = 18.036, df = 4, p-value = 0.001214