Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


entrega casa, Ejercicios de Matemáticas

Asignatura: Matemàtiques, Profesor: Sebastià Massanet Massanet, Carrera: Biologia, Universidad: UIB

Tipo: Ejercicios

2017/2018

Subido el 23/05/2018

DRE5
DRE5 🇪🇸

4

(1)

5 documentos

1 / 12

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Matemàtiques I. Entrega de Casa 3. 1r Graus de
Biologia i Bioquímica. Curs 17-18. Solucions
El fitxer Pokemon.xlsx, que pots trobar a Aula Digital just davall d’aquest full, con les estadístiques de 721
Pokemons. Cada fila correspon a un Pokemon i en les columnes s’hi poden trobar les següents estadístiques:
Name: Nom de cada Pokemon.
Type 1 : Cada Pokemon és d’un tipus. Això determina la seva debilitat/resistència als atacs.
Type 2 : Alguns Pokemons tenen dos tipus.
Total: Suma de totes les estadístiques posteriors. Una mesura bàsica de la fortalesa d’un Pokemon.
HP: Punts d’impacte, o salut. Defineix quant de dany pot patir un Pokemon abans no sigui vençut.
Attack: El modificador base pels atacs normals.
Defense: El modificador base a la resistència al dany contra atacs normals.
SP.Atk: El modificador base pels atacs especials.
SP.Def : El mo dificador base per la resistència contra els atacs especials.
Speed: Determina quin Pokemon ataca primer cada ronda.
A partir de la taula de dades anterior, es plantegen els següents apartats:
a) Carregau el fitxer Pokemon.xlsx en un data frame anomenat
pokemons
. Les variables Type1,Type2 i
Generation han de ser de tipus factor, la variable Name ha de ser de tipus caràcter i la resta han de ser
variables numèriques. Comprovau amb les instruccions head istr que tot ha anat després de fer les
transformacions de tipus de variable corresponents.
Solució: Anem a llegir el fitxer emprant la instrucció read.xlsx del paquet xlsx.
library(xlsx)
## Loading required package: rJava
## Loading required package: xlsxjars
pokemons=read.xlsx("Pokemon.xlsx",1)
Comprovem a continuació si s’ha llegit correctament i els tipus de variables.
head(pokemons)
## Name Type1 Type2 Total HP Attack Defense Sp.Atk Sp.Def
## 1 Bulbasaur Grass Poison 318 45 49 49 65 65
## 2 Ivysaur Grass Poison 405 60 62 63 80 80
## 3 Venusaur Grass Poison 525 80 82 83 100 100
## 4 VenusaurMega Venusaur Grass Poison 625 80 100 123 122 120
## 5 Charmander Fire 309 39 52 43 60 50
## 6 Charmeleon Fire 405 58 64 58 80 65
## Speed Generation Legendary
## 1 45 1 FALSE
## 2 60 1 FALSE
## 3 80 1 FALSE
## 4 80 1 FALSE
## 5 65 1 FALSE
## 6 80 1 FALSE
str(pokemons)
## 'data.frame': 800 obs. of 12 variables:
## $ Name : Factor w/ 800 levels "Abomasnow","AbomasnowMega Abomasnow",..: 81 330 746 747 103 104 100 101 102 666 ...
1
pf3
pf4
pf5
pf8
pf9
pfa

Vista previa parcial del texto

¡Descarga entrega casa y más Ejercicios en PDF de Matemáticas solo en Docsity!

Matemàtiques I. Entrega de Casa 3. 1r Graus de

Biologia i Bioquímica. Curs 17-18. Solucions

El fitxer Pokemon.xlsx , que pots trobar a Aula Digital just davall d’aquest full, conté les estadístiques de 721 Pokemons. Cada fila correspon a un Pokemon i en les columnes s’hi poden trobar les següents estadístiques:

  • Name : Nom de cada Pokemon.
  • Type 1 : Cada Pokemon és d’un tipus. Això determina la seva debilitat/resistència als atacs.
  • Type 2 : Alguns Pokemons tenen dos tipus.
  • Total : Suma de totes les estadístiques posteriors. Una mesura bàsica de la fortalesa d’un Pokemon.
  • HP : Punts d’impacte, o salut. Defineix quant de dany pot patir un Pokemon abans no sigui vençut.
  • Attack : El modificador base pels atacs normals.
  • Defense : El modificador base a la resistència al dany contra atacs normals.
  • SP.Atk : El modificador base pels atacs especials.
  • SP.Def : El modificador base per la resistència contra els atacs especials.
  • Speed : Determina quin Pokemon ataca primer cada ronda. A partir de la taula de dades anterior, es plantegen els següents apartats:

a) Carregau el fitxer Pokemon.xlsx en un data frame anomenat pokemons. Les variables Type1 , Type2 i Generation han de ser de tipus factor, la variable Name ha de ser de tipus caràcter i la resta han de ser variables numèriques. Comprovau amb les instruccions head i str que tot ha anat bé després de fer les transformacions de tipus de variable corresponents. Solució: Anem a llegir el fitxer emprant la instrucció read.xlsx del paquet xlsx. library (xlsx)

Loading required package: rJava

Loading required package: xlsxjars

pokemons= read.xlsx ("Pokemon.xlsx",1)

Comprovem a continuació si s’ha llegit correctament i els tipus de variables. head (pokemons)

Name Type1 Type2 Total HP Attack Defense Sp.Atk Sp.Def

1 Bulbasaur Grass Poison 318 45 49 49 65 65

2 Ivysaur Grass Poison 405 60 62 63 80 80

3 Venusaur Grass Poison 525 80 82 83 100 100

4 VenusaurMega Venusaur Grass Poison 625 80 100 123 122 120

5 Charmander Fire 309 39 52 43 60 50

6 Charmeleon Fire 405 58 64 58 80 65

Speed Generation Legendary

1 45 1 FALSE

2 60 1 FALSE

3 80 1 FALSE

4 80 1 FALSE

5 65 1 FALSE

6 80 1 FALSE

str (pokemons)

'data.frame': 800 obs. of 12 variables:

$ Name : Factor w/ 800 levels "Abomasnow","AbomasnowMega Abomasnow",..: 81 330 746 747 103 104

$ Type1 : Factor w/ 18 levels "Bug","Dark","Dragon",..: 10 10 10 10 7 7 7 7 7 18 ...

$ Type2 : Factor w/ 19 levels "","Bug","Dark",..: 15 15 15 15 1 1 9 4 9 1 ...

$ Total : num 318 405 525 625 309 405 534 634 634 314 ...

$ HP : num 45 60 80 80 39 58 78 78 78 44 ...

$ Attack : num 49 62 82 100 52 64 84 130 104 48 ...

$ Defense : num 49 63 83 123 43 58 78 111 78 65 ...

$ Sp.Atk : num 65 80 100 122 60 80 109 130 159 50 ...

$ Sp.Def : num 65 80 100 120 50 65 85 85 115 64 ...

$ Speed : num 45 60 80 80 65 80 100 100 100 43 ...

$ Generation: num 1 1 1 1 1 1 1 1 1 1 ...

$ Legendary : logi FALSE FALSE FALSE FALSE FALSE FALSE ...

Canviem la variable Name a tipus caràcter i la Generation a tipus factor. pokemons $ Name= as.character (pokemons $ Name) pokemons $ Generation= as.factor (pokemons $ Generation) str (pokemons)

'data.frame': 800 obs. of 12 variables:

$ Name : chr "Bulbasaur" "Ivysaur" "Venusaur" "VenusaurMega Venusaur" ...

$ Type1 : Factor w/ 18 levels "Bug","Dark","Dragon",..: 10 10 10 10 7 7 7 7 7 18 ...

$ Type2 : Factor w/ 19 levels "","Bug","Dark",..: 15 15 15 15 1 1 9 4 9 1 ...

$ Total : num 318 405 525 625 309 405 534 634 634 314 ...

$ HP : num 45 60 80 80 39 58 78 78 78 44 ...

$ Attack : num 49 62 82 100 52 64 84 130 104 48 ...

$ Defense : num 49 63 83 123 43 58 78 111 78 65 ...

$ Sp.Atk : num 65 80 100 122 60 80 109 130 159 50 ...

$ Sp.Def : num 65 80 100 120 50 65 85 85 115 64 ...

$ Speed : num 45 60 80 80 65 80 100 100 100 43 ...

$ Generation: Factor w/ 6 levels "1","2","3","4",..: 1 1 1 1 1 1 1 1 1 1 ...

$ Legendary : logi FALSE FALSE FALSE FALSE FALSE FALSE ...

b) Creau una taula en la que, per a cada combinació de tipus 1 i tipus 2, es doni la mitjana de la variable Total i la mitjana de la variable HP. Aquesta taula ha de tenir quatre columnes (“Tipus 1”, “Tipus 2”, “Mitjana Total” i “Mitjana HP”) i una fila per cada combinació de tipus 1 i tipus 2. Quines combinacions de tipus 1 i tipus 2 tenen uns valors mitjans més alts i més baixos en cadascuna de les dues variables considerades? Solució: Per calcular aquesta taula, emprarem la funció aggregate que ens separarà ens agruparà els pokemons segons el seu valor de (tipus 1, tipus 2). Per representar la taula emprarem el paquet printr, introduït en la lliçó Otras_Lecciones_ExtrasRmd. library (printr) Taula= aggregate ( cbind (Total,HP) ~ Type1 + Type2,data=pokemons,FUN=mean) names (Taula)= c ("Tipus 1","Tipus 2","Mitjana_Total","Mitjana_HP") Taula

Tipus 1 Tipus 2 Mitjana_Total Mitjana_HP Bug 289.7059 53. Dark 436.2000 60. Dragon 413.3636 61. Electric 413.5556 60. Fairy 404.9333 74. Fighting 394.9500 71. Fire 412.2143 62. Flying 580.0000 79. Ghost 429.6000 49.

Finalment, hem d’extreure d’aquesta taula les combinacions (tipus 1, tipus 2) que tenguin els valors mitjans màxim i mínim per cada variable. Comencem per la variable Total:

  • Grass 403.5758 64.
  • Ground 395.2308 64.
  • Ice 445.6154 67.
  • Normal 408.3607 81.
  • Poison 379.2667 66.
  • Psychic 464.5526 72.
  • Rock 409.4444 67.
  • Steel 494.0000 62.
  • Water 413.7458 66.
  • Poison Bug 330.0000 40.
  • Rock Bug 425.0000 60.
  • Fighting Dark 495.0000 95.
  • Ghost Dark 485.0000 50.
  • Grass Dark 431.6667 76.
  • Ground Dark 387.3333 68.
  • Poison Dark 436.0000 78.
  • Psychic Dark 680.0000 80.
  • Rock Dark 650.0000 100.
  • Water Dark 493.8333 69.
  • Dark Dragon 440.0000 72.
  • Electric Dragon 610.0000 90.
  • Fire Dragon 634.0000 78.
  • Flying Dragon 390.0000 62.
  • Ghost Dragon 680.0000 150.
  • Grass Dragon 630.0000 70.
  • Ground Dragon 430.0000 65.
  • Poison Dragon 494.0000 65.
  • Rock Dragon 441.5000 70.
  • Steel Dragon 680.0000 100.
  • Water Dragon 610.0000 82.
  • Bug Electric 395.5000 60.
  • Dragon Electric 680.0000 100.
  • Ground Electric 471.0000 109.
  • Water Electric 395.0000 100.
  • Dragon Fairy 590.0000 75.
  • Electric Fairy 431.0000 67.
  • Grass Fairy 380.0000 50.
  • Normal Fairy 330.0000 99.
  • Psychic Fairy 397.0000 43.
  • Rock Fairy 600.0000 50.
  • Steel Fairy 443.3333 52.
  • Water Fairy 335.0000 85.
  • Bug Fighting 550.0000 80.
  • Dark Fighting 418.0000 57.
  • Fire Fighting 492.8571 80.
  • Grass Fighting 523.3333 79.
  • Normal Fighting 590.0000 82.
  • Poison Fighting 395.0000 65.
  • Psychic Fighting 638.6667 80.
  • Rock Fighting 580.0000 91.
  • Steel Fighting 580.0000 91.
  • Water Fighting 556.6667 90.
  • Bug Fire 455.0000 70. Tipus 1 Tipus 2 Mitjana_Total Mitjana_HP
  • Dark Fire 476.6667 65.
  • Dragon Fire 680.0000 100.
  • Electric Fire 520.0000 50.
  • Ghost Fire 388.3333 56.
  • Ground Fire 770.0000 100.
  • Psychic Fire 600.0000 100.
  • Bug Flying 419.5000 63.
  • Dark Flying 494.0000 93.
  • Dragon Flying 641.6667 94.
  • Electric Flying 537.6000 70.
  • Fairy Flying 475.0000 70.
  • Fighting Flying 500.0000 78.
  • Fire Flying 551.5000 82.
  • Ghost Flying 423.0000 120.
  • Grass Flying 422.0000 72.
  • Ground Flying 535.0000 79.
  • Ice Flying 455.0000 67.
  • Normal Flying 371.9583 62.
  • Poison Flying 411.6667 66.
  • Psychic Flying 449.6667 67.
  • Rock Flying 524.5000 72.
  • Steel Flying 465.0000 65.
  • Water Flying 404.0000 63.
  • Bug Ghost 236.0000 1.
  • Dark Ghost 430.0000 50.
  • Electric Ghost 440.0000 50.
  • Ground Ghost 393.0000 74.
  • Ice Ghost 480.0000 70.
  • Psychic Ghost 600.0000 80.
  • Steel Ghost 453.2500 56.
  • Water Ghost 407.5000 77.
  • Bug Grass 384.0000 55.
  • Electric Grass 520.0000 50.
  • Ghost Grass 409.9000 61.
  • Normal Grass 405.0000 70.
  • Psychic Grass 600.0000 100.
  • Rock Grass 425.0000 76.
  • Water Grass 346.6667 60.
  • Bug Ground 345.0000 45.
  • Dragon Ground 522.0000 90.
  • Fire Ground 441.6667 66.
  • Grass Ground 525.0000 95.
  • Ice Ground 410.0000 86.
  • Normal Ground 423.0000 85.
  • Poison Ground 505.0000 85.
  • Rock Ground 380.0000 55.
  • Steel Ground 560.0000 75.
  • Water Ground 433.9000 87.
  • Dark Ice 470.0000 62.
  • Dragon Ice 686.6667 125.
  • Electric Ice 520.0000 50.
  • Grass Ice 474.0000 80. Tipus 1 Tipus 2 Mitjana_Total Mitjana_HP
  • Rock Ice 441.5000 100.
  • Water Ice 511.6667 90.
  • Electric Normal 385.0000 53.
  • Fire Normal 438.0000 74.
  • Bug Poison 347.9167 53.
  • Ghost Poison 453.7500 48.
  • Grass Poison 414.0667 64.
  • Water Poison 426.6667 61.
  • Dark Psychic 385.0000 69.
  • Dragon Psychic 650.0000 80.
  • Fighting Psychic 400.0000 50.
  • Fire Psychic 537.0000 90.
  • Grass Psychic 422.5000 77.
  • Ground Psychic 400.0000 50.
  • Ice Psychic 380.0000 55.
  • Normal Psychic 527.5000 85.
  • Rock Psychic 440.0000 70.
  • Steel Psychic 488.5714 69.
  • Water Psychic 481.0000 87.
  • Bug Rock 435.0000 46.
  • Fire Rock 410.0000 50.
  • Ground Rock 455.0000 100.
  • Steel Rock 430.0000 60.
  • Water Rock 428.7500 70.
  • Bug Steel 509.7143 67.
  • Dark Steel 415.0000 55.
  • Electric Steel 441.6667 48.
  • Fighting Steel 575.0000 70.
  • Fire Steel 600.0000 91.
  • Grass Steel 397.0000 59.
  • Ground Steel 508.0000 110.
  • Rock Steel 456.6667 50.
  • Water Steel 530.0000 84.
  • Bug Water 269.0000 40.
  • Electric Water 520.0000 50.
  • Fire Water 600.0000 80.
  • Ice Water 410.0000 90.
  • Normal Water 410.0000 79.
  • Poison Water 320.0000 50.
  • Rock Water 417.6667 51.
  • Tipus 1 Tipus Taula[ which.max (Taula $ Mitjana_Total),1 : 2]

d) Creau un gràfic a partir de Poke_fire , amb els valors d’atac especial en l’eix horitzontal i els de defensa especial en l’eix vertical. Heu d’emprar triangles plens de color vermell. Solució: Els triangles plens corresponen a l’opció pch=17 de la funció plot. plot (Poke_fire,col="red",pch=17)

Sp.Atk

Sp.Def

e) Afegiu a n’aquest gràfic els punts corresponents a Poke_water. Heu d’emprar quadrats de color blau. Afegiu una llegenda que indiqui cada tipus de punt a quin tipus 1 de Pokemon es correspon. Assegurau-vos que tots els punts estan en la gràfica i no en queda cap sense representar per haver quedat fora dels límits. Solució: Per assegurar-nos que tots els punts estan dins la gràfica hem de redefinir els extrems del gràfic per a que hi càpiguen tots els punts. Vegem quins són els rangs de les dues variables en els dos data frames considerats. range (Poke_water $ Sp.Atk)

[1] 10 180

range (Poke_fire $ Sp.Atk)

[1] 15 159

range (Poke_water $ Sp.Def)

[1] 20 160

range (Poke_fire $ Sp.Def)

[1] 40 154

Així, els valors de Sp.Atk estan entre 10 i 180 i els de Sp.Def estan entre 20 i 160. Representam el gràfic anterior amb aquests límits i afegim els punts corresponents a Poke_water:

plot (Poke_fire,xlim= c (10,180),ylim= c (20,160),col="red",pch=17) points (Poke_water,col="blue",pch=15) legend ("topleft",legend= c ("Foc","Aigua"),pch= c (17,15),col= c ("red","blue"))

Sp.Atk

Sp.Def

Foc

Aigua

f) Determinau la dependència (lineal, exponencial, potencial) de la variable Sp.Atk en funció de la variable Speed pels Pokemons de tipus 1 Psychic de la primera generació. Una vegada determinada la dependència, trobau l’expressió de la funció que modela aquesta dependència. Representau finalment els punts en escala lineal juntament amb la funció trobada.

Solució: Seleccionem les variables Speed i Sp.Atk pels pokemons de tipus 1 Psychic de la primera generació.

Pok_Psy_1=pokemons[pokemons $ Type1 == "Psychic" & pokemons $ Generation == 1, c ("Speed","Sp.Atk")] head (Pok_Psy_1)

Speed Sp.Atk

69 90 105

70 105 120

71 120 135

72 150 175

105 42 43

106 67 73

Vegem si la dependència és lineal representant els punts en escala lineal, afegint la recta de regressió i calculant el valor de Rˆ2.

Speed

Sp.Atk

summary ( lm ( log10 (Pok_Psy_1 $ Sp.Atk) ~ Pok_Psy_1 $ Speed)) $ r.squared

[1] 0.

I en escala log-log, per veure si la dependència és potencial:

plot (Pok_Psy_1,log="xy") abline ( lm ( log10 (Pok_Psy_1 $ Sp.Atk) ~log10 (Pok_Psy_1 $ Speed)))

Speed

Sp.Atk

summary ( lm ( log10 (Pok_Psy_1 $ Sp.Atk) ~log10 (Pok_Psy_1 $ Speed))) $ r.squared

[1] 0.

Tant els valors de R^2 com els gràfics ens indiquen que la dependència és potencial. Per trobar la funció concreta, necessitam els coeficients de la recta de regressió en escala log-log:

lm ( log10 (Pok_Psy_1 $ Sp.Atk) ~log10 (Pok_Psy_1 $ Speed))

Call:

lm(formula = log10(Pok_Psy_1$Sp.Atk) ~ log10(Pok_Psy_1$Speed))

Coefficients:

(Intercept) log10(Pok_Psy_1$Speed)

-0.2385 1.

Així doncs, la funció és la següent:

Sp.Atk = 10−^0_.^2355 · Speed^1.^1476 = 0._ 5814 · Speed^1_._^1476

Finalment, representem els punts juntament amb aquesta corba:

plot (Pok_Psy_1) curve (0.5814 ***** x ^ 1.1476,add=TRUE)