Cargue la base de datos Act3.csv y los paquetes que sean necesario para trabajar un data.table.
library(data.table)
actividad3<-fread("Act3.csv",fill = TRUE)
Revise la base de datos y elimine las aplicaciones que se encuentran duplicadas.
actividad3[duplicated(App)]
## App Category Rating Reviews
## 1: Quick PDF Scanner + OCR FREE BUSINESS 4.2 80805
## 2: Box BUSINESS 4.2 159872
## 3: Google My Business BUSINESS 4.4 70991
## 4: ZOOM Cloud Meetings BUSINESS 4.4 31614
## 5: join.me - Simple Meetings BUSINESS 4.0 6989
## ---
## 1177: FarmersOnly Dating DATING 3.0 1145
## 1178: Firefox Focus: The privacy browser COMMUNICATION 4.4 36981
## 1179: FP Notebook MEDICAL 4.5 410
## 1180: Slickdeals: Coupons & Shopping SHOPPING 4.5 33599
## 1181: AAFP MEDICAL 3.8 63
## Size Installs Type Price Content Rating Genres
## 1: Varies with device 5,000,000+ Free 0 Everyone Business
## 2: Varies with device 10,000,000+ Free 0 Everyone Business
## 3: Varies with device 5,000,000+ Free 0 Everyone Business
## 4: 37M 10,000,000+ Free 0 Everyone Business
## 5: Varies with device 1,000,000+ Free 0 Everyone Business
## ---
## 1177: 1.4M 100,000+ Free 0 Mature 17+ Dating
## 1178: 4.0M 1,000,000+ Free 0 Everyone Communication
## 1179: 60M 50,000+ Free 0 Everyone Medical
## 1180: 12M 1,000,000+ Free 0 Everyone Shopping
## 1181: 24M 10,000+ Free 0 Everyone Medical
## Last Updated Current Ver Android Ver
## 1: February 26, 2018 Varies with device 4.0.3 and up
## 2: July 31, 2018 Varies with device Varies with device
## 3: July 24, 2018 2.19.0.204537701 4.4 and up
## 4: July 20, 2018 4.1.28165.0716 4.0 and up
## 5: July 16, 2018 4.3.0.508 4.4 and up
## ---
## 1177: February 25, 2016 2.2 4.0 and up
## 1178: July 6, 2018 5.2 5.0 and up
## 1179: March 24, 2018 2.1.0.372 4.4 and up
## 1180: July 30, 2018 3.9 4.4 and up
## 1181: June 22, 2018 2.3.1 5.0 and up
actividad3<-actividad3[!duplicated(App)]
Cree un nuevo objeto que contenga las siguientes variables de interés: App,Category,Rating,Reviews,Installs,Type,Price y Content Rating.
variables_interes<-actividad3[,.N,by=c("App", "Category", "Rating", "Reviews", "Installs", "Type", "Price", "Content Rating")]
Para el objeto anterior, elimine la categoría 1.9 de la variable Category.
variables_interes<-variables_interes[!variables_interes$Category==1.9,]
Cree un objeto que este compuesto por el número de observaciones de cada categoría.
numero_observaciones<-actividad3[,.N,by=Category]
Reemplace el objeto anterior para que ahora contenga el número de observaciones, el promedio de comentarios (Reviews) y el promedio del Rating por categoría.
numero_observaciones<-actividad3[,observaciones:=.N,by=Category]
numero_observaciones[,promedio_comentarios:=mean(Reviews,na.rm = TRUE)]
## Warning in mean.default(Reviews, na.rm = TRUE): argument is not numeric or
## logical: returning NA
actividad3[,Reviews:=as.numeric(Reviews)]
## Warning in eval(jsub, SDenv, parent.frame()): NAs introduced by coercion
numero_observaciones[,promedio_rating:=mean(Rating,na.rm = TRUE)]
numero_observaciones<-actividad3[,Categoria:=Category]
numero_observaciones<-numero_observaciones[,c(14,15,16,17)]
Renombre las columnas del objeto de la pregunta 6. La primera columna debe ser Categoria, la segunda columna Numero_Observaciones, la tercera columa Promedio_Comentarios y la cuarta columna Promedio_Rating.
colnames(numero_observaciones)=c("Numero_Observaciones","Promedio_Comentarios","Promedio_Rating","Categoria")
numero_observaciones<-numero_observaciones[,c(1,2,3,4)]
col
## function (x, as.factor = FALSE)
## {
## if (as.factor) {
## labs <- colnames(x, do.NULL = FALSE, prefix = "")
## res <- factor(.Internal(col(dim(x))), labels = labs)
## dim(res) <- dim(x)
## res
## }
## else .Internal(col(dim(x)))
## }
## <bytecode: 0x67af008>
## <environment: namespace:base>
Ahora queremos analizar el nivel de competencia que existe por categoría para identificar cómo se encuentra valorada cada categoría de aplicaciones. Para realizar esto, debe crear un objeto con el identificador de competencia para cada categoría. El indicador esta definido como Icompetencia=(reviews∗rating)1000¯ Este identificador debe calcularse con el objeto de la Pregunta 4.
variables_interes[,Reviews:=as.numeric(Reviews)]
i_competencia<-variables_interes[,identificador_competencia:=(Reviews*Rating/1000)]
i_competencia<-i_competencia[,c(2,10)]
i_competencia<-i_competencia[!is.na(identificador_competencia),]
Renombrar las columnas del objeto de la Pregunta 8. La primera columna debe ser Categoria y la segunda columna Identificador.
colnames(i_competencia)=c("Categoria","Identificador")
Reemplace el objeto de la Pregunta 7 realizando un merge entre el objeto de la Pregunta 7 y el objeto de la Pregunta 9.
No nos resultó, no tengo idea por qué, pero el comando debiese ser el siguiente, intenté con all.x=TRUE, sort= F pero no pasó nada :( numero_observaciones<-merge(x=numero_observaciones,y=i_competencia, by=“Categoria”)
Cree un objeto, a partir del objeto de la pregunta anterior, que contenga información solo de las categrías que más se relacionan con el rubro de la empresa (SOCIAL y PHOTOGRAPHY).
relacion_categorias<-numero_observaciones[Categoria=="SOCIAL"|Categoria=="PHOTOGRAPHY"]
Realizar un gráfico que relacione dos variables que para usted sean relevantes relacionar. Para esto utilice el objeto de la Pregunta 3. Explique su gráfico.