Analizarás las cifras de taquilla de Star Wars. En el editor se definen tres vectores de las tres primeras peliculas de Star Wars, las componentes indica el ingreso de las taquillas de EEUU y por fuera de EEUU.
new_hope <- c(460.998, 314.4)
empire_strikes <- c(290.475,247.900)
return_jedi <- c(309.306, 165.8)
Responda:
star_wars_matrix <- matrix(c(new_hope,empire_strikes,return_jedi), nrow=2, ncol = 3)
library(knitr)
colnames(star_wars_matrix) <- c("A New Hope", "The empire Strikes Back", "Retuns of the Jedi" )
rownames(star_wars_matrix) <- c("US", "non-US")
kable(star_wars_matrix)
| A New Hope | The empire Strikes Back | Retuns of the Jedi | |
|---|---|---|---|
| US | 460.998 | 290.475 | 309.306 |
| non-US | 314.400 | 247.900 | 165.800 |
worldwide_vector <- colSums(star_wars_matrix)
print(worldwide_vector)
## A New Hope The empire Strikes Back Retuns of the Jedi
## 775.398 538.375 475.106
4 . Añade worldwide_vector como una nueva fila a a la matriz star_wars_matrix y al resultado le asignas el nombre all_wars_matrix.
all_wars_matrix <- rbind(star_wars_matrix, worldwide_vector)
rownames(all_wars_matrix) <- c("US", "non-US", "World Wide Box") # Renombra las filas
kable(all_wars_matrix)
| A New Hope | The empire Strikes Back | Retuns of the Jedi | |
|---|---|---|---|
| US | 460.998 | 290.475 | 309.306 |
| non-US | 314.400 | 247.900 | 165.800 |
| World Wide Box | 775.398 | 538.375 | 475.106 |
non_us_all <- c(all_wars_matrix[2,1],all_wars_matrix[2,2],all_wars_matrix[2,3])
print(non_us_all)
## [1] 314.4 247.9 165.8
mean(non_us_all)
## [1] 242.7
name <- c("Mercury", "Venus", "Earth", "Mars", "Jupiter", "Saturn", "Uranus", "Neptune")
type <- c("Terrestrial planet","Terrestrial planet", "Terrestrial planet","Terrestrial planet","Gas gigant","Gas gigant","Gas gigant","Gas gigant" )
diameter <- c(0.382, 0.949, 1, 0.532, 11.209, 9.449, 4.007, 3.883)
rotation <- c(58.64, -243.02, 1, 1.03, 0.41, 0.43, -0.72, 0.67)
rings <- c(FALSE, FALSE, FALSE, FALSE, TRUE, TRUE, TRUE, TRUE)
planets_df <- data.frame(cbind(name,type,diameter,rotation,rings))
kable(planets_df)
| name | type | diameter | rotation | rings |
|---|---|---|---|---|
| Mercury | Terrestrial planet | 0.382 | 58.64 | FALSE |
| Venus | Terrestrial planet | 0.949 | -243.02 | FALSE |
| Earth | Terrestrial planet | 1 | 1 | FALSE |
| Mars | Terrestrial planet | 0.532 | 1.03 | FALSE |
| Jupiter | Gas gigant | 11.209 | 0.41 | TRUE |
| Saturn | Gas gigant | 9.449 | 0.43 | TRUE |
| Uranus | Gas gigant | 4.007 | -0.72 | TRUE |
| Neptune | Gas gigant | 3.883 | 0.67 | TRUE |
planets_df[1,3]
## [1] "0.382"
kable(planets_df[4,1:5])
| name | type | diameter | rotation | rings | |
|---|---|---|---|---|---|
| 4 | Mars | Terrestrial planet | 0.532 | 1.03 | FALSE |
planets_df[1:5,3]
## [1] "0.382" "0.949" "1" "0.532" "11.209"
planets_df[1:8,5] # seleccione los datos de la fila 1 a la 8 de la columna 5 (rings)
## [1] "FALSE" "FALSE" "FALSE" "FALSE" "TRUE" "TRUE" "TRUE" "TRUE"
planets_df[c(1,2,3,4,5,6,7,8),5] # seleccione los datos de la fila 1,2,3,4,5,6,7 y 8 de la columna 5 (rings)
## [1] "FALSE" "FALSE" "FALSE" "FALSE" "TRUE" "TRUE" "TRUE" "TRUE"
planets_df$rings # seleccione los datos de la columna rings de la tabla planets_df
## [1] "FALSE" "FALSE" "FALSE" "FALSE" "TRUE" "TRUE" "TRUE" "TRUE"
rings_vector <- planets_df$rings # Se asignan los datos de la variable rings al vector rings_vector
print(rings_vector)
## [1] "FALSE" "FALSE" "FALSE" "FALSE" "TRUE" "TRUE" "TRUE" "TRUE"
rings_vector[c(5:8)]
## [1] "TRUE" "TRUE" "TRUE" "TRUE"
kable(subset(planets_df, planets_df$diameter < 1))
| name | type | diameter | rotation | rings | |
|---|---|---|---|---|---|
| 1 | Mercury | Terrestrial planet | 0.382 | 58.64 | FALSE |
| 2 | Venus | Terrestrial planet | 0.949 | -243.02 | FALSE |
| 4 | Mars | Terrestrial planet | 0.532 | 1.03 | FALSE |
planets_df$diameter <- as.numeric(planets_df$diameter) # cambia el tipo de dato de caracter a númerico
planets_df2 <- planets_df[order(planets_df$diameter),]
planets_df2
## name type diameter rotation rings
## 1 Mercury Terrestrial planet 0.382 58.64 FALSE
## 4 Mars Terrestrial planet 0.532 1.03 FALSE
## 2 Venus Terrestrial planet 0.949 -243.02 FALSE
## 3 Earth Terrestrial planet 1.000 1 FALSE
## 8 Neptune Gas gigant 3.883 0.67 TRUE
## 7 Uranus Gas gigant 4.007 -0.72 TRUE
## 6 Saturn Gas gigant 9.449 0.43 TRUE
## 5 Jupiter Gas gigant 11.209 0.41 TRUE
Siendo un gran aficionado al cine, decides empezar almacenar información sobre buenas películas, con la ayuda de listas.
Crea el código en el editor y asignala a sp_man_no_way_home_list; contiene tres elementos.
mov <- c("Harry Potter y la piedra filosofal")
print(mov)
## [1] "Harry Potter y la piedra filosofal"
act <- c("Daniel Radcliffe", "Emma Watson", "Rupert Grint", "Robbie Coltrane", "Ian Hart")
print(act)
## [1] "Daniel Radcliffe" "Emma Watson" "Rupert Grint" "Robbie Coltrane"
## [5] "Ian Hart"
scores <- c(7.6, 9.0, 6.8 )
sources <- c("IMDB", "SENSACINE ", "FILMAFFINITY")
comments <- c(" La introducción a los personajes, la inmersión en el mundo ficticio, la primera vez que ríes, lloras, te preocupas y temes por la seguridad de alguien nunca podrá repetirse. No importa cuántas películas de Harry Potter hagan, o si alguna vez las rehacen en el futuro, ninguna se acercará a la maravillosa primera película, Harry Potter y la piedra filosofal.", "Resalta su diseño de producción y materialización visual y narrativa. La admirable coherencia alcanzada entre forma y fondo. El partido de quidditch sobresale en una ya de por sí espectacular propuesta.", "Aunque algunas de las escenas del libro han sido eliminadas, los fanáticos probablemente no podrían esperar una mejor adaptación. Es un buen augurio para el resto de la serie, cuando las historias fuertes comiencen a tener prioridad sobre la configuración")
kable(rev <- data.frame(cbind(scores, sources, comments)))
| scores | sources | comments |
|---|---|---|
| 7.6 | IMDB | La introducción a los personajes, la inmersión en el mundo ficticio, la primera vez que ríes, lloras, te preocupas y temes por la seguridad de alguien nunca podrá repetirse. No importa cuántas películas de Harry Potter hagan, o si alguna vez las rehacen en el futuro, ninguna se acercará a la maravillosa primera película, Harry Potter y la piedra filosofal. |
| 9 | SENSACINE | Resalta su diseño de producción y materialización visual y narrativa. La admirable coherencia alcanzada entre forma y fondo. El partido de quidditch sobresale en una ya de por sí espectacular propuesta. |
| 6.8 | FILMAFFINITY | Aunque algunas de las escenas del libro han sido eliminadas, los fanáticos probablemente no podrían esperar una mejor adaptación. Es un buen augurio para el resto de la serie, cuando las historias fuertes comiencen a tener prioridad sobre la configuración |
No olvides nombrar los componentes de la lista como corresponde (los nombres son moviename, actors y reviews).
sp_man_no_way_home_list<- list(moviename = mov, actors = act, reviews = rev)
print(sp_man_no_way_home_list)
## $moviename
## [1] "Harry Potter y la piedra filosofal"
##
## $actors
## [1] "Daniel Radcliffe" "Emma Watson" "Rupert Grint" "Robbie Coltrane"
## [5] "Ian Hart"
##
## $reviews
## scores sources
## 1 7.6 IMDB
## 2 9 SENSACINE
## 3 6.8 FILMAFFINITY
## comments
## 1 La introducción a los personajes, la inmersión en el mundo ficticio, la primera vez que ríes, lloras, te preocupas y temes por la seguridad de alguien nunca podrá repetirse. No importa cuántas películas de Harry Potter hagan, o si alguna vez las rehacen en el futuro, ninguna se acercará a la maravillosa primera película, Harry Potter y la piedra filosofal.
## 2 Resalta su diseño de producción y materialización visual y narrativa. La admirable coherencia alcanzada entre forma y fondo. El partido de quidditch sobresale en una ya de por sí espectacular propuesta.
## 3 Aunque algunas de las escenas del libro han sido eliminadas, los fanáticos probablemente no podrían esperar una mejor adaptación. Es un buen augurio para el resto de la serie, cuando las historias fuertes comiencen a tener prioridad sobre la configuración
print(sp_man_no_way_home_list$actors)
## [1] "Daniel Radcliffe" "Emma Watson" "Rupert Grint" "Robbie Coltrane"
## [5] "Ian Hart"
print(sp_man_no_way_home_list$actors[2])
## [1] "Emma Watson"
Realice 1000 simulaciones del lanzamiento de una moneda equilibrada y compruebe experimentalmente que el número de veces que aparece una cara entre el total de lanzamientos se aproxima a 1/2 conforme el número de lanzamientos crece.
vectorLanzamiento <- NULL # vector vacio que almacena el número de lanzamientos
vectorResultados <- c("Cara","Sello") #total de posibles resultados
vectorProb <- NULL #vector vacío que almacena la probabilidad de que obtener una cara por lanzamiento i veces.
conteoCara<-0 # contador, inicia en cero
for (i in 1:1000) {
vectorLanzamiento[i]<-i # Almacena el número de lanzamientos
lanzamiento <- sample(vectorResultados,1,TRUE) #genera un valor aleatorío de 1000 posibles resultados
if (lanzamiento == "Cara"){
conteoCara <- conteoCara + 1
} # condición: Si se obtiene una cara en el lanzamiento sumelo a la variable conteoCara
vectorProb[i] <- conteoCara / vectorLanzamiento[i] # calcula la probabilidad de obtener una cara por lanzamiento
}
tabla.resultados <- data.frame(cbind(vectorLanzamiento, vectorProb)) # Crea un marco de datos
library(ggplot2)
ggplot(tabla.resultados, aes(x=vectorLanzamiento, y=vectorProb))+
geom_point(size = 0.3,color="purple")+labs(title= "Gráfico de probabilidad", x="Número de Lanzamientos",y="Número de Caras")+ theme(legend.position='none') #Gráfica la información contenida en el marco de datos
Nota: Cada vez que se ejecute el código la función sample generará valores aleatorios diferentes.
Realice 1000 simulaciones del lanzamiento de un dado equilibrada y compruebe experimentalmente que el número de veces que aparece una cara entre el total de lanzamientos se aproxima a 1/6 conforme el número de lanzamientos crece.
vectorLanzamientod <- NULL # vector vacio que almacena el número de lanzamientos
vectorResultadosd <- c("Uno","Dos", "Tres", "Cuatro", "Cinco", "Seis") #total de posibles resultados
vectorProbd <- NULL #vector vacío que almacena la probabilidad de que obtener una cara por lanzamiento i veces
conteoCarad<-0 #Contador, inicia en cero
for (i in 1:1000) {
vectorLanzamientod[i]<-i # Almacena el número de lanzamientos
lanzamientod <- sample(vectorResultadosd,1,TRUE) #genera un valor aleatorío de 1000 posibles resultados
if (lanzamientod == "Uno"){
conteoCarad <- conteoCarad + 1
} # condición: Si se obtiene una cara en el lanzamiento sumelo a la variable conteoCarad
vectorProbd[i] <- conteoCarad / vectorLanzamientod[i]
} # calcula la probabilidad de obtener una cara del dado por lanzamiento
tabla.resultadosd <- data.frame(cbind(vectorLanzamientod, vectorProbd)) # Crea un marco de datos
library(ggplot2)
ggplot(tabla.resultadosd, aes(x=vectorLanzamientod, y=vectorProbd))+
geom_point(size = 0.3,color="darkgreen")+labs(title= "Gráfico de probabilidad", x="Número de Lanzamientos",y="Número de Uno")+ theme(legend.position='none') #Gráfica la información contenida en el marco de datos
Nota: Cada vez que se ejecute el código la función sample generará valores aleatorios diferentes.