Você está na página 1de 6

Primer ejercicio P2P

Franco Hernn Salcedo Lpez


El fichero Halterofilia.csv, que encontrars en el repositorio del curso (en el url
https://miriadax.net/documents/28098821/74010125/Halterofilia.csv/f2fb1ddc-6de0-4942-870efbe5e9d2eca8), contiene los resultadosdel campeonato del mundo de halterofilia de 2010. Cada
fila corresponde a un halterfilo participante en el campeonato. Consta de 6 columnas:

Peso: El peso corporal del halterfilo.


Arrancada: El peso mximo que levant en la modalidad de Arrancada.
Dos.Tiempos: El peso mximo que levant en la modalidad de Dos Tiempos.
Total: La suma de los dos pesos anteriores.
Categoria: La categora en la que compiti. Son categoras por peso. Por ejemplo
menos 62 quiere decir que el halterfilo pesaba menos de 62 Kg.
Sexo: M para masculino y F para femenino.

a) Guardar el fichero Halterofilia.csv en un data frame llamado Resultados. La variable


Categoria ha de ser un factor ordenado en el orden creciente de los pesos:
menos 48,menos 53,menos 56,menos 58,menos 62,menos 63,menos 69,
menos 75,mas 75,menos 77,menos 85,menos 94,menos 105,mas 105
head(Resultados)
Peso Arrancada Dos.Tiempos Total Categoria Sexo
1 55.61
132
160
292 menos 56
M
2 55.64
127
161
288 menos 56
M
3 55.87
130
150
280 menos 56
M
4 55.73
123
150
273 menos 56
M
5 55.93
120
149
269 menos 56
M
6 55.87
127
140
267 menos 56
M
str(Resultados)
'data.frame': 462 obs. of 6 variables:
$ Peso
: num 55.6 55.6 55.9 55.7 55.9 ...
$ Arrancada : int 132 127 130 123 120 127 118 112 121 115 ...
$ Dos.Tiempos: int 160 161 150 150 149 140 146 152 142 146 ...
$ Total
: int 292 288 280 273 269 267 264 264 263 261 ...
$ Categoria : Ord.factor w/ 14 levels "menos 48"<"menos 53"<..: 3 3
3 3 3 3 3 3 3 3 ...
$ Sexo
: Factor w/ 2 levels "F","M": 2 2 2 2 2 2 2 2 2 2 ...
b) Crear una tabla en la que, para cada combinacin de categora y sexo, se d el peso medio
en la modalidad de Arrancada y el peso medio en la modalidad de Dos Tiempos de los
participantes de esa categora y ese sexo. Esta tabla tiene que tener cuatro columnas
(Categora, Sexo, Peso medio Arrancada y Peso medio Dos Tiempos) y una fila por
combinacin de categora y sexo. Te recomendamos usar la funcin aggregate para calcular
los pesos medios.
tabla1=aggregate(cbind ( Resultados$Arrancada,Resultados$Dos.Tiempos)~
Resultados$Categoria+Resultados$Sexo , data = Resultados , FUN= mean )
> tabla1
Resultados$Categoria Resultados$Sexo
V1
V2
1
menos 48
F 72.35714 91.78571
2
menos 53
F 78.42308 99.46154
3
menos 58
F 84.62069 106.68966
4
menos 63
F 92.61538 116.00000
5
menos 69
F 96.57143 120.03571
6
menos 75
F 101.89655 124.62069
7
mas 75
F 106.08696 137.56522
8
menos 56
M 111.64516 137.48387

9
10
11
12
13
14
15

menos 62
menos 69
menos 77
menos 85
menos 94
menos 105
mas 105

M
M
M
M
M
M
M

121.84375
134.40000
141.38889
153.34286
160.34146
164.50000
173.26667

149.25000
164.33333
172.83333
187.11429
195.97561
200.28947
212.03333

colnames(tabla1) = c("Categoria","Sexo","Media_Arran","Media_Dos_Tiemp
os")
> tabla1
Categoria Sexo Media_Arran Media_Dos_Tiempos
1
menos 48
F
72.35714
91.78571
2
menos 53
F
78.42308
99.46154
3
menos 58
F
84.62069
106.68966
4
menos 63
F
92.61538
116.00000
5
menos 69
F
96.57143
120.03571
6
menos 75
F
101.89655
124.62069
7
mas 75
F
106.08696
137.56522
8
menos 56
M
111.64516
137.48387
9
menos 62
M
121.84375
149.25000
10 menos 69
M
134.40000
164.33333
11 menos 77
M
141.38889
172.83333
12 menos 85
M
153.34286
187.11429
13 menos 94
M
160.34146
195.97561
14 menos 105
M
164.50000
200.28947
15
mas 105
M
173.26667
212.03333
c) Extraer de Resultados dos dataframes: uno llamado ResM, con los datos de los hombres, y
otro llamado ResF, con los datos de las mujeres. Ambos dataframes deben contener slo dos
columnas: Peso y Total.
ResM=(Resultados[Resultados$Sexo=="M", ])[,c("Peso","Total")]
> head(ResM)
Peso Total
1 55.61
292
2 55.64
288
3 55.87
280
4 55.73
273
5 55.93
269
6 55.87
267
> tail(ResM)
Peso Total
268 130.81
346
269 122.98
345
270 138.46
342
271 114.28
324
272 112.57
320
273 133.97
303
ResF=(Resultados[Resultados$Sexo=="F", ])[,c("Peso","Total")]
> str(ResF)
'data.frame': 189 obs. of 2 variables:
$ Peso : num 47.9 47.7 47.8 47.7 47.1 ...
$ Total: int 214 205 204 186 185 180 176 175 174 171 ...
> head(ResF)
Peso Total
274 47.88
214
275 47.72
205
276 47.83
204
277 47.71
186
278 47.08
185
279 47.94
180
> tail(ResF)
Peso Total
457 102.36
222

458 89.60
459 97.51
460 104.36
461 83.24
462 101.29

220
218
177
175
175

d) Crear un grfico a partir de ResM, con el peso corporal en el eje horizontal y el peso total
levantado en el eje vertical. Tienes que usar tringulos vacos de color rojo. Vers que la
distribucin de los puntos es bastante peculiar. Encuentra una razn para esta distribucin.
plot(ResM$Peso,ResM$Total, col="red",pch=2, main="Relacion entre Peso
Corporal y Peso Total",xlab = "Peso Corporal",ylab = "Peso Total")

350
250
150

Peso Total

450

Relacion entre Peso Corporal y Peso Total

60

80

100

120

140

160

Peso Corporal
El grfico indica que mientras ms masa corporal, ms tiende a levantar el peso; aunque sin
embargo se aprecia que entre los rangos de 60,80 y 100de peso corporal existe una variedad de
pesos totales levantados
e) Aadir al grfico los puntos correspondientes a ResF. Tienes que usar cuadrados llenos de
color verde. Aade una leyenda que indique cada tipo de punto qu sexo representa.
Asegrate de que todos los puntos estn dentro de la grfica y ninguno queda sin representar
por haber quedado fuera de los lmites. Es posible que tengas que redibujar todo usando
valores adecuados de xlim e ylim.

plot(ResM$Peso,ResM$Total, col="red",pch=2, main="Relacion entre Peso Corporal y Peso


Total",xlab = "Peso Corporal",ylab = "Peso Total")
points(ResF$Peso,ResF$Total, pch=15 , col="green")
legend ("topright", legend =c("Masculino","Femenino" ), lwd = c(2,2),c
ol = c("red","green"))

600

Relacion entre Peso Corporal y Peso Total

400
300
200

Peso Total

500

Masculino
Femenino

50

100

150

200

Peso Corporal
f) Calcular la regresin lineal del peso levantado en funcin del peso corporal tanto para los
hombres como para las mujeres. Indica en ambos casos cunto peso levantan de media por
cada Kg. adicional de peso corporal. Indica tambin los coeficientes de determinacin.
lm(ResM$Total~ResM$Peso , data = ResM)
Call:
lm(formula = ResM$Total ~ ResM$Peso, data = ResM)
Coefficients:
(Intercept)
177.480

ResM$Peso
1.727

Y(Peso Total)= 1.727X(peso corporal) + 177.480


summary(lm(ResM$Total~ResM$Peso , data = ResM))
Call:
lm(formula = ResM$Total ~ ResM$Peso, data = ResM)
Residuals:
Min
1Q
-168.493 -20.913

Median
4.294

3Q
24.289

Max
66.750

Coefficients:
Estimate Std. Error t
(Intercept) 177.48035
7.84172
ResM$Peso
1.72725
0.08866
--Signif. codes: 0 *** 0.001 **

value Pr(>|t|)
22.63
<2e-16 ***
19.48
<2e-16 ***
0.01 * 0.05 . 0.1 1

Residual standard error: 34.89 on 271 degrees of freedom


Multiple R-squared: 0.5834, Adjusted R-squared: 0.5819
F-statistic: 379.5 on 1 and 271 DF, p-value: < 2.2e-16

350
300
250
150

200

Peso Total

400

450

Relacion entre Peso Corporal y Peso Total (HOMBRES)

60

80

100

120

140

160

Peso Corporal
El valor de 0.5834, indica que no estn bien correlacionados,, es decir no se aproximan
X= 1Kg de peso corporal
Y(Peso Total)= (1.727*1) + 177.480
Y=179.207 los Hombres

MUJERES
lm(ResF$Total~ResF$Peso , data = ResF)
Call:
lm(formula = ResF$Total ~ ResF$Peso, data = ResF)
Coefficients:
(Intercept)
103.05

ResF$Peso
1.54

Y= 1.54X + 103.05
X= 1
Y =104.59 de media pora cada Kg de peso corporal las mujeres
ummary(lm(ResF$Total~ResF$Peso , data = ResF))$r.squared
[1] 0.423298

R^2 indica que no tiene una buena relacion

200
100

150

Peso Total

250

300

Relacion entre Peso Corporal y Peso Total (MUJERES)

60

80

100

120

Peso Corporal

g) Aadir las dos rectas al grfico anterior con los colores correspondientes.

600

Relacion entre Peso Corporal y Peso Total

400
300
200

Peso Total

500

Masculino
Femenino
Regre_H
Regre_M

50

100
Peso Corporal

150

200

Você também pode gostar