library(DT)
library(tidyverse)
library(dplyr)
library(ggplot2)ProyectoCCD_27660553
Analisis CPU
Para este analisis descargue data de openintro , especificamente la data cpu para analizar las estadisticas del componente de las computadoras y las mejores opciones del mercado. (link de consulta de la data)
Descarga y Visualizacion de la Data
Paso 1: Cargar las librerias
Paso 2: Pasar data a R studios
Una vez en el link se procede a descargar la data en formato .csv, con el archivo ya descargado procedemos a abrir la data en R studios.
data_bruta <- read.csv("C:/Users/pc/Documents/cursor/Proyecto/ProyectoCCD_27660553/cpu.csv") #Paso de la data del .csv a RUna vez cargada la data en el programa gracias a la funcion read.csv, procedemos a la visualizacion de los datos.
En la tabla podemos observar, que la data esta compuesta de 12 variables tanto categoricas como numericas con 875 observaciones como refleja la parte inferior izquierda de la tabla.
Las variables contenidas en la data son:
[1] "company" "name" "codename" "cores" "threads"
[6] "base_clock" "boost_clock" "socket" "process" "l3_cache"
[11] "tdp" "released"
Paso 4: Realizar estadistica descriptiva
summary(data_bruta) company name codename cores
Length:875 Length:875 Length:875 Min. : 1.000
Class :character Class :character Class :character 1st Qu.: 2.000
Mode :character Mode :character Mode :character Median : 4.000
Mean : 7.807
3rd Qu.: 6.000
Max. :72.000
threads base_clock boost_clock socket
Min. : 1.0 Min. :0.600 Min. :1.300 Length:875
1st Qu.: 4.0 1st Qu.:2.050 1st Qu.:3.300 Class :character
Median : 4.0 Median :2.700 Median :3.700 Mode :character
Mean : 17.3 Mean :2.631 Mean :3.651
3rd Qu.: 12.0 3rd Qu.:3.300 3rd Qu.:4.100
Max. :288.0 Max. :4.700 Max. :5.300
NA's :318
process l3_cache tdp released
Min. : 7.00 Min. : 1.00 Min. : 1.00 Length:875
1st Qu.:14.00 1st Qu.: 4.00 1st Qu.: 35.00 Class :character
Median :22.00 Median : 8.00 Median : 65.00 Mode :character
Mean :22.58 Mean : 16.35 Mean : 75.86
3rd Qu.:32.00 3rd Qu.: 15.00 3rd Qu.: 95.00
Max. :45.00 Max. :256.00 Max. :400.00
NA's :185
Con esta funcion podemos observar que la data contiene 503 valores N/A contenidas en las variables boost_clock (318) y l3_cache (185), Ademas en las demas variables podemos intuir que su distribucion con una forma leptocurtica por los datos presentados en la tabla creado por la funcion summary. Ahora pasaremos a corroborar la hipotesis antes planteada evaluando las graficas de cada uno de las variables numericas que no poseen valores N/A a traves de histogramas.
En los graficos podemos observar varias cosas en primer lugar la mayoria de las variables a excepcion base_clock no poseen una distribucion normal lo cual implica que esta data no seria de gran utilidad para un analisis proyectivo o econometrico ya que el principio de normalidad en la mayoria de los casos no se cumplen volviendo poco creible o poco fiable cualquier proyeccion realizada con esta data al menos que pase por una fase exhaustiva de procesamiento ya sea mediante test, modificacion o agregacion de nuevas observaciones.
Lista de las mejores opciones para el cliente
Para poder identificar las mejores opciones de cpu en este stock tomaremos aquellos computadores que tanto en las variables Cores, process, tdp, boost_clock como base_clock esten por encima del promedio del propio stock. Tomo estas variables como referencia por estar asociadas a la capacidad de procesamiento y memoria del dispositivo caracteristicas fundamentales para cualquier comprador de CPUs.
Paso 1: Crear los promedios de las variables seleccionadas
Para esto almacenaremos cada promedio en una variable de la siguiente forma:
prom_cores <- mean(data_bruta$cores)
prom_process <- mean(data_bruta$process)
prom_tdp <- mean(data_bruta$tdp)
prom_boost_clock <- mean(data_bruta$boost_clock, na.rm= T)
prom_base_clock <- mean(data_bruta$base_clock)Paso 2: Crear una nueva variable en la data
Una vez calculados los promedios procederemos a crear una nueva variable categorica llamada “ranking” que identifica las computadoras que estan encima del promedio de todos los promedios de cada variable a lo lo identificaremos como “top” y al resto de computadoras que no cumpla con los criterios “normal”.
data_ranking <- data_bruta %>%
mutate(ranking = ifelse(cores > prom_cores & process > prom_process & tdp > prom_tdp & boost_clock > prom_boost_clock & base_clock > prom_base_clock , "top", "normal"))
datatable(data_ranking)Paso 3: Seleccion de las mejores opciones
Creada la nueva variablea extreremos del data frame los valores que nos interesan en este caso todos los dispositivos CPU cuyo valor en ranking sea igual a top.
cpu_top <- data_ranking %>%
filter(ranking== "top")Visualicemos los CPUs en la siguiente tabla:
Estos son los 14 modelos Top que tenemos en stock para los clientes:
[1] "AMD FX-8100" "AMD FX-8120" "AMD FX-8150" "AMD FX-8140"
[5] "AMD FX-8300" "AMD FX-8320" "AMD FX-8170" "AMD FX-8350"
[9] "AMD FX-9370" "AMD FX-9590" "AMD FX-8320E" "AMD FX-8370E"
[13] "AMD FX-8370" "AMD Opteron 4386"
Conclusion
Como podemos ver la marca AMD posee todas las computadores que se encuentran por encima del promedio en cuando a las variables asociadas al procesamiento y memoria, siendo las mejores opciones a ofrecer a los clientes del stock contenido en el data frame de data_bruta.