-
Notifications
You must be signed in to change notification settings - Fork 0
/
Tema2_JuanAndresPerairaPerez.Rmd
250 lines (192 loc) · 8.85 KB
/
Tema2_JuanAndresPerairaPerez.Rmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
---
title: "Ejercicios tema 2"
author: "Juan Andrés Peraira Pérez"
output: pdf_document
---
```{r setup, include=FALSE, message=FALSE, warning=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```
## Ejercicio 1: Utiliza los datos “iris” que corresponden a mediciones (en centímetros) de 4 variables: largo y ancho de los pétalos y sépalos; para 50 flores de 3 especies distintas de plantas Iris setosa, versicolor, y virginica.
Queremos responder a las siguientes preguntas:
¿Cuántos datos (o casos) tenemos para cada especie? y ¿qué porcentaje representan del total de casos?
Realice los gráficos pertinentes para cada tipo de variable (cualitativa vs. cuantitativa).
```{r , echo=TRUE, message=FALSE, warning=FALSE}
datos<-iris #-- cargamos los datos
head(datos)
attach(datos) #-- activamos las variables
table(Species)
#-- Podemos observar que tenemos 50 casos para cada especie
table(Species)/length(Species)
```
El porcentaje es de un 33,33% por especie con respecto al total de datos.
Comenzaremos con los Gráficos para las variables cuantitativas, en primer lugar se realizaran los diagramas de cajas y bigotes
```{r , echo=TRUE, message=FALSE, warning=FALSE}
library(ggplot2)
p <- ggplot(datos,aes(Species,Sepal.Length))
p +
labs(x = "Especies",y = "Longitud Sepalo (cm)",
title="Diagrama de Cajas y bigotes")+
scale_fill_discrete(guide_legend(title = "Especies"))+
geom_boxplot(aes(fill=Species))
p <- ggplot(datos,aes(Species,Sepal.Width))
p +
labs(x = "Especies",y = "Ancho Sepalo (cm)",
title="Diagrama de Cajas y bigotes")+
scale_fill_discrete(guide_legend(title = "Especies"))+
geom_boxplot(aes(fill=Species))
p <- ggplot(datos,aes(Species,Petal.Length))
p +
labs(x = "Especies",y = "Longitud Petalo (cm)",
title="Diagrama de Cajas y bigotes")+
scale_fill_discrete(guide_legend(title = "Especies"))+
geom_boxplot(aes(fill=Species))
p <- ggplot(datos,aes(Species,Petal.Width))
p +
labs(x = "Especies",y = "Ancho Sepalo (cm)",
title="Diagrama de Cajas y bigotes")+
scale_fill_discrete(guide_legend(title = "Especies"))+
geom_boxplot(aes(fill=Species))
```
A continuación se presentan los histrogramas para cada variable por especie.
```{r , echo=TRUE, message=FALSE, warning=FALSE}
ggplot(datos, aes(x = Sepal.Length, fill=Species)) +
labs(x = "Longitud Sepalo",
title="Histograma longitud del Sepalo")+
scale_fill_discrete(guide_legend(title = "Especies"))+
geom_histogram()
ggplot(datos, aes(x = Sepal.Width, fill=Species)) +
labs(x = "Ancho Sepalo",
title="Histograma Ancho del Sepalo")+
scale_fill_discrete(guide_legend(title = "Especies"))+
geom_histogram()
ggplot(datos, aes(x = Petal.Length, fill=Species)) +
labs(x = "Longitud Petalo",
title="Histograma Longitud del Petalo")+
scale_fill_discrete(guide_legend(title = "Especies"))+
geom_histogram()
ggplot(datos, (aes(x = Petal.Width, fill=Species))) +
labs(x = "Ancho Petalo",
title="Histograma Ancho del Petalo")+
scale_fill_discrete(guide_legend(title = "Especies"))+
geom_histogram()
```
¿Cuál es la media clásica y robusta del ancho del sépalo para cada especie?. Realice diagrama de cajas.
```{r , echo=TRUE, message=FALSE, warning=FALSE}
#-- Media clásica del ancho del sépalo para cada especie.
media_ancho_sepalo<-aggregate(Sepal.Width~Species, datos, mean)
media_ancho_sepalo
#-- Media robusta del ancho del sépalo para cad especie.
library(WRS2)
media_robusta_ancho_sepalo<-aggregate(Sepal.Width~Species, datos, mest)
media_robusta_ancho_sepalo
```
¿Qué correlaciones existen entre las distintas medidas tomadas a cada planta? Realice un gráfico bidimensional para observarlo.
```{r , echo=TRUE, message=FALSE, warning=FALSE}
datos$Species = NULL
correlacion <-cor(datos)
correlacion
```
Podemos observar que existe una alta correlación entre la longitud del sepalo con la longitud y ancho del petalo y la longitud del petalo con el ancho del petalo.
## Ejercicio 2: Utiliza los datos “Davis” (paquete “car”) para calcular el IMC como se indicó en el tema 2 (IMC=Peso/Estatura^2). Realia:
Gráfico de barras y de sectores para las categorías del IMC por sexo.
```{r , echo=TRUE, message=FALSE, warning=FALSE}
#-- cargamos los datos
library(car)
datos<-Davis
head(datos)
attach(datos) #-- Activamos las variables
#-- Creamos la función
imc=function(w,h){w/(h/100)^2}
#-- Calculamos el imc para los datos
datos_imc<-imc(datos$weight,datos$height)
# creamos las categorías de IMC
imcc_datos=cut(datos_imc, breaks=c(0, 15, 18.5, 25, 30))
#-- Creamos la tabla
imcfrec=table(imcc_datos)
cbind(imcfrec)
#-- agregamos las etiquetas
levels(imcc_datos)=c("infrapeso","delgada","normal","sobrepeso","obesidad")
#-- Creamos el data frame
datos_davis<-data.frame(datos, IMC=datos_imc, IMCc=imcc_datos)
# eliminamos los errores
datos_davis<-datos_davis[!is.na(datos_davis$IMCc),]
head(datos_davis)
library(ggplot2)
library(gridExtra)
ggplot(datos_davis,aes(x=factor(sex),fill=factor(IMCc))) +
geom_bar(stat = "count", position="dodge")+
labs(title = "Gráfico de IMC por Sexo") +
labs(fill = "IMC") +
labs(aes(x="Sexo",y="Personas"))
#-- Gráfico de sectores
#-- Realizaremos dos gráficos separando los hombres ylas mujeres
#-- Gráfrico para los hombres
datos_hombres<-subset(datos_davis,datos_davis$sex=="M")
library(plotrix)
grafico_tarta<-pie(table(datos_hombres$IMCc),
main="Gráfico Hombres")
#-- Gráfico para las mujeres
datos_mujeres<-subset(datos_davis,datos_davis$sex=="F")
grafico_tarta<-pie(table(datos_mujeres$IMCc))
```
Gráficos de cajas e histogramas para la variable IMC numérica, también por sexo. ¿Existe algún outlier?, ¿cuáles?.
```{r , echo=TRUE, message=FALSE, warning=FALSE}
#-- Realizamos el gráfico de cajas y bigotes para el IMC por sexo
p <- ggplot(datos_davis,aes(sex,IMC))
p +
labs(x = "Sexo",y = "Indice de masa corporal",
title="Diagrama de Cajas y bigotes")+
scale_fill_discrete(guide_legend(title = "Sexo"))+
geom_boxplot(aes(fill=sex))
#-- Realizamos el hitográma del IMC
p <- ggplot(data=datos_davis, aes(x=IMC)) +
geom_histogram(fill="steelblue") +
ggtitle("Histograma Indice de masa corporal") +
labs(aes(x="IMC")) +
theme_minimal()
#-- Realizamos el histográma para el IMC por sexo
p <- ggplot(data=datos_davis, aes(x=IMC)) +
geom_histogram(fill="steelblue") +
ggtitle("Histograma IMC por Sexo") +
facet_wrap(~sex)+
theme_minimal()
```
Podemos observar en el gráfico de cajas y bigotes que exiten dos outliers para el sexo Femenino, estos outliers superan el IMC = 25 (mujeres con sobrepeso).
## Ejercicio 3: Utiliza los datos “Arthritis” (paquete “vcd”) sobre un ensayo clínico de doble ciego que investiga un nuevo tratamiento para la artritis reumatoide. Tenemos información de 84 observaciones de 5 variables: la identificación del paciente (ID), el tratamiento (Treatment: Placebo, Treated), el sexo (Sex: Female, Male), la edad (Age) y la mejoría (Improved: None, Some, Marked). Obtener las tablas de frecuencias y medidas de asociación entre estas variables. Interpreta los resultad
```{r , echo=TRUE, message=FALSE, warning=FALSE}
#-- Cargamos el paquete
library(vcd)
datos<-Arthritis
attach(datos) #-- Activamos las variables
head(datos)
#-- Las tablas de frecuencia se realizarán por variable.
#-- Tabla de frecuencias de la variable Tratamiento
table(Treatment)
#-- Tabla de frecuencias de la variable Sexo
table(Sex)
#-- Tabla de frecuencias de la variable Edad
table(Age)
#-- Tabla de frecuencias de la variable Improved
table(Improved)
```
Una vez que hemos obtenido las tablas de frecuencia, el siguiente paso es realizar las medidas de asociación para las variables cualitativas y cuantitativas.
Vamos a analizar en primer lugar el sexo con el tratamiento:
```{r , echo=TRUE, message=FALSE, warning=FALSE}
summary(assocstats(table(datos$Sex,datos$Treatment)))
```
Observamos que no existe una relación significativa (p>0.05) entre el sexo y el tratamiento y dado el coeficiente de Cramer tienen una asociación bastante baja.
Ahora vamos a analizar el sexo con la mejoria:
```{r , echo=TRUE, message=FALSE, warning=FALSE}
summary(assocstats(table(datos$Sex,datos$Improved)))
```
Observamos que no existe una relación significativa (p>0.05) entre el sexo y la mejoria del paciente y dado el coeficiente de Cramer tienen una asociación baja.
Analizamos el tratamiento con la mejoria:
```{r , echo=TRUE, message=FALSE, warning=FALSE}
summary(assocstats(table(datos$Treatment,datos$Improved)))
```
En este caso podemos ver que existe una relación significativa (p<0.05) entre el tratamiento y la mejoría, el coeficiente de Cramer es bajo.
Ahora vamos a realizar el estudio con la edad y la mejoria:
```{r , echo=TRUE, message=FALSE, warning=FALSE}
summary(assocstats(table(datos$Age,datos$Improved)))
```
Según el coeficiente de Cramer exite una alta asociación entre estas variables, pero el p<0.05 y por lo tanto no existe una relación significativa.