Este es un sitio web de comercio electrónico que registra datos creados para ayudar a los analistas de datos a practicar el análisis exploratorio y la visualización de datos. El conjunto de datos contiene datos sobre cuándo se accedió al sitio web, dirección IP de la fuente, país, idioma en el que se accedió al sitio web y cantidad de ventas realizadas por esa dirección IP.
Columnas incluidas: Hora y duración del acceso al sitio web País, idioma y amp; Plataforma en la que se accedió Número de bytes utilizados y usados. Dirección IP de la persona que accede al sitio web Monto de ventas o devolución de esa persona
Archivo obtenido de https://www.kaggle.com/datasets/kzmontage/e-commerce-website-logs
# Para limpiar el workspace, por si hubiera algun dataset
# o informacion cargada
rm(list = ls())
# Cambiar el directorio de trabajo
setwd(dirname(rstudioapi::getActiveDocumentContext()$path))
getwd()
## [1] "C:/Users/jerem/OneDrive/Documentos/Computación e informatica/CICLO 4/Estadística Aplicada a la Computación/Tema 9"
##cargar el conjunto de datos
# Cagar
ecomerce <- read.csv("E-commerce.csv", sep=",")
head(ecomerce)
## access_date duration_.seconds. Proto IP Src.IP.type Src.Pt
## 1 11/1/2016 9:58 2533 TCP 1.10.195.126 EXT_SERVER 8082
## 2 11/1/2016 9:59 4034 TCP 1.1.217.211 OPENSTACK_NET 56978
## 3 11/1/2016 9:59 1525 TCP 1.115.198.107 EXT_SERVER 8082
## 4 11/1/2016 10:00 4572 TCP 1.121.152.143 OPENSTACK_NET 56979
## 5 11/1/2016 10:00 3652 TCP 1.123.135.213 EXT_SERVER 8082
## 6 11/1/2016 10:01 3847 TCP 1.124.48.210 OPENSTACK_NET 51649
## Bytes Accessed_From country membership Languages Sales Returned
## 1 20100 Chrome Albania Normal Albanian 261.9600 No
## 2 20500 Mozilla Firefox Albania Normal Albanian 731.9400 No
## 3 90100 Mozilla Firefox Albania Normal Albanian 14.6200 No
## 4 100300 Mozilla Firefox Albania Normal Albanian 957.5775 No
## 5 270200 Mozilla Firefox Albania Normal Albanian 22.3680 No
## 6 10200 Mozilla Firefox Albania Normal Albanian 48.8600 No
## Returned_Amount
## 1 0
## 2 0
## 3 0
## 4 0
## 5 0
## 6 0
*…
##Categorizar en 4 grupos a los montos de compra
quantile(ecomerce$Sales)
## 0% 25% 50% 75% 100%
## 0.00 5.23 46.92 600.16 11199.97
Resultado /## 0% 25% 50% 75% 100%
/## 0.00 5.23 46.92 600.16 11199.97
Segun los resultados:
El valor minimo del monto de compra es 0
interpretacion es $ 5.23; El 25% de los clientes que accedieron al website, su monto maximo de compra es $ 5.23
interpretacion es $ 46.92; El 50% de los clientes que accedieron al website, su monto maximo de compra es $ 46.92
interpretacion es $ 600.16; El 75% de los clientes que accedieron al website, su monto maximo de compra es $ 600.16
# Visualizar la estructura del conjunto de datos para identificar la columna que contiene el tiempo de permanencia
str(ecomerce)
## 'data.frame': 172838 obs. of 14 variables:
## $ access_date : chr "11/1/2016 9:58" "11/1/2016 9:59" "11/1/2016 9:59" "11/1/2016 10:00" ...
## $ duration_.seconds.: int 2533 4034 1525 4572 3652 3847 2090 2793 3396 2064 ...
## $ Proto : chr "TCP " "TCP " "TCP " "TCP " ...
## $ IP : chr "1.10.195.126" "1.1.217.211" "1.115.198.107" "1.121.152.143" ...
## $ Src.IP.type : chr "EXT_SERVER" "OPENSTACK_NET" "EXT_SERVER" "OPENSTACK_NET" ...
## $ Src.Pt : int 8082 56978 8082 56979 8082 51649 8082 37039 8082 48380 ...
## $ Bytes : int 20100 20500 90100 100300 270200 10200 310900 10700 250200 20600 ...
## $ Accessed_From : chr "Chrome" "Mozilla Firefox" "Mozilla Firefox" "Mozilla Firefox" ...
## $ country : chr "Albania" "Albania" "Albania" "Albania" ...
## $ membership : chr "Normal" "Normal" "Normal" "Normal" ...
## $ Languages : chr "Albanian" "Albanian" "Albanian" "Albanian" ...
## $ Sales : num 262 731.9 14.6 957.6 22.4 ...
## $ Returned : chr "No" "No" "No" "No" ...
## $ Returned_Amount : num 0 0 0 0 0 ...
# Calcular cuartiles para el tiempo de permanencia
cuartiles_tiempo <- quantile(ecomerce$duration_.seconds., probs = c(0, 0.25, 0.5, 0.75, 1))
# Mostrar los cuartiles calculados
cuartiles_tiempo
## 0% 25% 50% 75% 100%
## 1500 2371 3246 4124 5000
El valor minimo de la duracion en el website es 1500
interpretación es Seg 2371; El 25% del tiempo de los clientes que permanecieron en el website(segundos) es 2371.
interpretación es Seg 2371; El 50% del tiempo de los clientes que permanecieron en el website(segundos) es Seg 3246.
interpretación es Seg 4124; El 75% del tiempo de los clientes que permanecieron en el website(segundos) es Seg 4124.
##Dividir en 10 grupo (deciles)
quantile(ecomerce$Sales, probs = seq(0, 1, 0.1))
## 0% 10% 20% 30% 40% 50% 60% 70%
## 0.00 0.00 0.00 10.46 26.15 46.92 107.52 203.30
## 80% 90% 100%
## 600.17 1500.40 11199.97
##Dividir en 100 grupo (percentiles)
quantile(ecomerce$Sales, probs = seq(0, 1, 0.01))
## 0% 1% 2% 3% 4% 5% 6%
## 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
## 7% 8% 9% 10% 11% 12% 13%
## 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
## 14% 15% 16% 17% 18% 19% 20%
## 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
## 21% 22% 23% 24% 25% 26% 27%
## 0.0000 0.0000 0.0000 2.7240 5.2300 5.2300 5.9700
## 28% 29% 30% 31% 32% 33% 34%
## 10.4600 10.4600 10.4600 11.7300 15.1500 15.6900 15.6900
## 35% 36% 37% 38% 39% 40% 41%
## 15.8400 20.9200 20.9200 20.9600 23.4600 26.1500 26.1500
## 42% 43% 44% 45% 46% 47% 48%
## 29.9700 32.4320 35.1900 35.8400 40.5615 40.6600 40.6600
## 49% 50% 51% 52% 53% 54% 55%
## 45.4500 46.9200 58.6500 60.6000 71.6800 71.6800 75.7500
## 56% 57% 58% 59% 60% 61% 62%
## 81.3200 81.3200 87.1680 107.5200 107.5200 121.9800 121.9800
## 63% 64% 65% 66% 67% 68% 69%
## 133.6295 143.3600 161.8200 162.6400 162.6400 179.2000 179.2000
## 70% 71% 72% 73% 74% 75% 76%
## 203.3000 203.3000 213.0800 391.9800 600.1600 600.1600 600.1600
## 77% 78% 79% 80% 81% 82% 83%
## 600.1600 600.1600 600.1600 600.1700 854.9400 900.2400 900.2400
## 84% 85% 86% 87% 88% 89% 90%
## 900.2400 900.2400 900.2400 1050.0000 1500.4000 1500.4000 1500.4000
## 91% 92% 93% 94% 95% 96% 97%
## 1500.4000 1500.4000 1500.4000 1800.5100 1800.5100 2400.6800 2400.6800
## 98% 99% 100%
## 3000.8500 3000.8500 11199.9680
##Asimetría
library(fBasics)
## Warning: package 'fBasics' was built under R version 4.3.2
skewness(ecomerce$Sales)
## [1] 3.126829
## attr(,"method")
## [1] "moment"
Resultado: [1] 3.126829, como el valor es positivo, entonces la distribución de los datos es asimétrica positiva, esto quiere decir que los valores están concentrados en los puntos mínimos (la mayoría de cliente compra montos pequeños)
hist(ecomerce$Sales)
kurtosis(ecomerce$Sales)
## [1] 12.80659
## attr(,"method")
## [1] "excess"
Resultado: [1] 12.80659, el valor es mayor que 3, por lo tanto, la distribución de los datos es leptocurtica, quiere decir que los datos están muy concentrados alrededor de las medidas de endencia central (El apuntamiento es alto)