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

library(DT)
library(tidyverse)
library(dplyr)
library(ggplot2)

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 R

Una 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.