This is an R Markdown document. Markdown is a simple formatting syntax for authoring HTML, PDF, and MS Word documents. For more details on using R Markdown see http://rmarkdown.rstudio.com.
When you click the Knit button a document will be generated that includes both content as well as the output of any embedded R code chunks within the document. You can embed an R code chunk like this:
summary(cars)
## speed dist
## Min. : 4.0 Min. : 2.00
## 1st Qu.:12.0 1st Qu.: 26.00
## Median :15.0 Median : 36.00
## Mean :15.4 Mean : 42.98
## 3rd Qu.:19.0 3rd Qu.: 56.00
## Max. :25.0 Max. :120.00
#PLOTS (funciona)
You can also embed plots, for example:
Note that the echo = FALSE parameter was added to the
code chunk to prevent printing of the R code that generated the
plot.
#EJERCICIO
#file.choose()
poblacion <- read.csv("C:\\Users\\lynet\\OneDrive\\Documents\\AnalÃtica 2023\\poblacion.csv")
#View(poblacion)
N <- length(poblacion$Pago)
#MEDIA
media_poblacional <- mean(poblacion$Pago)
#MUESTRA
muestra <- read.csv("C:\\Users\\lynet\\OneDrive\\Documents\\AnalÃtica 2023\\muestra.csv")
#MEDIA MUESTRAL
media_muestral <- mean(muestra$Pago)
#MEDIA POBLACIONAL
mediana_poblacional <- median(poblacion$Pago)
#MEDIA MUESTRAL
mediana_muestral <- median(muestra$Pago)
#RESUMEN DE POBLACION Y MUESTRA
summary(poblacion)
## mes Pago
## Length:12 Min. :162.6
## Class :character 1st Qu.:203.5
## Mode :character Median :228.6
## Mean :245.0
## 3rd Qu.:293.5
## Max. :343.5
summary(muestra)
## mes Pago
## Length:5 Min. :187.2
## Class :character 1st Qu.:219.4
## Mode :character Median :230.5
## Mean :249.4
## 3rd Qu.:266.6
## Max. :343.5
#MODA
moda <- function(x) {
ux <- unique(x)
ux[which.max(tabulate(match(x, ux)))]
}
moda_muestral <- moda(muestra$Pago)
moda_poblacional <- moda(poblacion$Pago)
#RELACION ENTRE MEDIA, MEDIANA Y MODA
mtc_poblacional <- c(media_poblacional, mediana_poblacional, moda_poblacional)
names(mtc_poblacional) <- c("media_poblacional", "mediana_poblacional", "moda_poblacional")
mtc_poblacional <- sort(mtc_poblacional)
mtc_poblacional
## mediana_poblacional media_poblacional moda_poblacional
## 228.6300 245.0167 266.6300
#HIST
hist(poblacion$Pago)
#RANGO POBLACIONAL
rango_poblacional <- max(poblacion$Pago) - min(poblacion$Pago)
#RANGO MUESTRAL
rango_muestral <- max(muestra$Pago) - min(muestra$Pago)
#VARIANZA POBLACIONAL
varianza_poblacional <- var(poblacion$Pago)*(N-1)/N
#VARIANZA MUESTRAL
varianza_muestral <- var(muestra$Pago)
#DESVIACION ESTANDAR POBLACIONAL
desviación_estandar_poblacional <- sqrt(varianza_poblacional)
#DESVIACION ESTANDAR MUESTRAL)
desviación_estandar_muestral <- sqrt(varianza_muestral)
#ACTIVIDAD
#BASE DATOS (funciona)
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.1.2 ✔ readr 2.1.4
## ✔ forcats 1.0.0 ✔ stringr 1.5.0
## ✔ ggplot2 3.4.2 ✔ tibble 3.2.1
## ✔ lubridate 1.9.2 ✔ tidyr 1.3.0
## ✔ purrr 1.0.1
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(readxl)
df<- read_xlsx("C:\\Users\\lynet\\OneDrive\\Documents\\AnalÃtica 2023\\Abarrotes_Ventas.xlsx")
#RESUMEN DATOS (funciona)
summary(df)
## vcClaveTienda DescGiro Codigo Barras PLU
## Length:200620 Length:200620 Min. :8.347e+05 Mode:logical
## Class :character Class :character 1st Qu.:7.501e+12 TRUE:1437
## Mode :character Mode :character Median :7.501e+12 NA's:199183
## Mean :5.950e+12
## 3rd Qu.:7.501e+12
## Max. :1.750e+13
## Fecha Hora
## Min. :2020-05-01 00:00:31.08 Min. :1899-12-31 00:00:00.00
## 1st Qu.:2020-06-06 13:24:49.08 1st Qu.:1899-12-31 13:12:42.75
## Median :2020-07-11 14:10:21.46 Median :1899-12-31 17:35:59.00
## Mean :2020-07-19 15:19:40.65 Mean :1899-12-31 16:43:52.05
## 3rd Qu.:2020-08-29 22:07:47.33 3rd Qu.:1899-12-31 20:47:06.00
## Max. :2020-11-11 23:53:47.73 Max. :1899-12-31 23:59:59.00
## Marca Fabricante Producto Precio
## Length:200620 Length:200620 Length:200620 Min. :-147.00
## Class :character Class :character Class :character 1st Qu.: 11.00
## Mode :character Mode :character Mode :character Median : 16.00
## Mean : 19.42
## 3rd Qu.: 25.00
## Max. :1000.00
## Ult.Costo Unidades F.Ticket NombreDepartamento
## Min. : 0.38 Min. : 0.200 Min. : 1 Length:200620
## 1st Qu.: 8.46 1st Qu.: 1.000 1st Qu.: 33967 Class :character
## Median : 12.31 Median : 1.000 Median :105996 Mode :character
## Mean : 15.31 Mean : 1.262 Mean :193994
## 3rd Qu.: 19.23 3rd Qu.: 1.000 3rd Qu.:383009
## Max. :769.23 Max. :96.000 Max. :450040
## NombreFamilia NombreCategoria Estado Mts 2
## Length:200620 Length:200620 Length:200620 Min. :47.0
## Class :character Class :character Class :character 1st Qu.:53.0
## Mode :character Mode :character Mode :character Median :60.0
## Mean :56.6
## 3rd Qu.:60.0
## Max. :62.0
## Tipo ubicación Giro Hora inicio
## Length:200620 Length:200620 Min. :1899-12-31 07:00:00.00
## Class :character Class :character 1st Qu.:1899-12-31 07:00:00.00
## Mode :character Mode :character Median :1899-12-31 08:00:00.00
## Mean :1899-12-31 07:35:49.71
## 3rd Qu.:1899-12-31 08:00:00.00
## Max. :1899-12-31 09:00:00.00
## Hora cierre
## Min. :1899-12-31 21:00:00.00
## 1st Qu.:1899-12-31 22:00:00.00
## Median :1899-12-31 22:00:00.00
## Mean :1899-12-31 22:23:11.42
## 3rd Qu.:1899-12-31 23:00:00.00
## Max. :1899-12-31 23:00:00.00
library(dplyr)
#(funciona)
count(df,vcClaveTienda, soft=TRUE)
## # A tibble: 5 × 3
## vcClaveTienda soft n
## <chr> <lgl> <int>
## 1 MX001 TRUE 96464
## 2 MX002 TRUE 6629
## 3 MX003 TRUE 4051
## 4 MX004 TRUE 83455
## 5 MX005 TRUE 10021
count(df,DescGiro, soft=TRUE)
## # A tibble: 3 × 3
## DescGiro soft n
## <chr> <lgl> <int>
## 1 Abarrotes TRUE 100515
## 2 CarnicerÃa TRUE 83455
## 3 Depósito TRUE 16650
count(df,Marca, soft=TRUE)
## # A tibble: 540 × 3
## Marca soft n
## <chr> <lgl> <int>
## 1 1-2-3 (ABARROTES) TRUE 128
## 2 1-2-3 (LAVANDERÃA) TRUE 173
## 3 3 EN 1 TRUE 6
## 4 5 ESTRELLAS TRUE 305
## 5 ABSOR SEC TRUE 224
## 6 ABUELITA TRUE 26
## 7 ACE TRUE 231
## 8 ACT II TRUE 329
## 9 ACTIVIA TRUE 37
## 10 ADES TRUE 6
## # ℹ 530 more rows
count(df,Fabricante, soft=TRUE)
## # A tibble: 241 × 3
## Fabricante soft n
## <chr> <lgl> <int>
## 1 3M MEXICO TRUE 12
## 2 ABASTECIMIENTOS PLáSTICOS Y ELéCTRICOS, TRUE 55
## 3 ABSORMEX S.A DE C.V TRUE 112
## 4 ACEITES GRASAS Y DERIVADOS TRUE 1016
## 5 ACT II TRUE 329
## 6 AJEMEX TRUE 159
## 7 AJEMONTERREY TRUE 129
## 8 ALEN TRUE 2698
## 9 ALIMENTOS CAPULLO TRUE 609
## 10 ALIMENTOS DEL FUERTE TRUE 2098
## # ℹ 231 more rows
count(df,NombreDepartamento, soft=TRUE)
## # A tibble: 9 × 3
## NombreDepartamento soft n
## <chr> <lgl> <int>
## 1 Abarrotes TRUE 198274
## 2 Bebes e Infantiles TRUE 1483
## 3 Carnes TRUE 1
## 4 Farmacia TRUE 255
## 5 FerreterÃa TRUE 377
## 6 MercerÃa TRUE 44
## 7 PapelerÃa TRUE 74
## 8 Productos a Eliminar TRUE 8
## 9 Vinos y Licores TRUE 104
count(df,NombreFamilia, soft=TRUE)
## # A tibble: 51 × 3
## NombreFamilia soft n
## <chr> <lgl> <int>
## 1 Accesorios TRUE 146
## 2 Aceite TRUE 1483
## 3 Aderezos TRUE 1507
## 4 Alcohol TRUE 16
## 5 Alimentos TRUE 810
## 6 Alimentos a Granel TRUE 1
## 7 Alimentos para Mascotas TRUE 878
## 8 Analgésicos TRUE 1
## 9 Antigripal TRUE 57
## 10 Antiácido TRUE 1
## # ℹ 41 more rows
count(df,NombreCategoria, soft=TRUE)
## # A tibble: 174 × 3
## NombreCategoria soft n
## <chr> <lgl> <int>
## 1 Achiotes TRUE 127
## 2 Aderezo para Ensalada TRUE 55
## 3 Afeitado y Depilación TRUE 408
## 4 Aguas TRUE 2985
## 5 Aguas Saborizadas TRUE 2630
## 6 Aluminios y Envolturas TRUE 2
## 7 Antojitos Mexicanos TRUE 48
## 8 Aromatizantes de Ambiente TRUE 48
## 9 Arroz TRUE 2047
## 10 ArtÃculos de Limpieza TRUE 26
## # ℹ 164 more rows
count(df,Estado, soft=TRUE)
## # A tibble: 5 × 3
## Estado soft n
## <chr> <lgl> <int>
## 1 Chiapas TRUE 4051
## 2 Jalisco TRUE 6629
## 3 Nuevo León TRUE 96464
## 4 Quintana Roo TRUE 10021
## 5 Sinaloa TRUE 83455
count(df,Giro, soft=TRUE)
## # A tibble: 2 × 3
## Giro soft n
## <chr> <lgl> <int>
## 1 Abarrotes TRUE 183970
## 2 Mini súper TRUE 16650
#TABLA FRECUENCIAS (funciona)
table(df$NombreDepartamento)
##
## Abarrotes Bebes e Infantiles Carnes
## 198274 1483 1
## Farmacia FerreterÃa MercerÃa
## 255 377 44
## PapelerÃa Productos a Eliminar Vinos y Licores
## 74 8 104
table(df$Estado)
##
## Chiapas Jalisco Nuevo León Quintana Roo Sinaloa
## 4051 6629 96464 10021 83455
install.packages(janitor)
#TABLA CRUZADA
library(janitor)
##
## Attaching package: 'janitor'
## The following objects are masked from 'package:stats':
##
## chisq.test, fisher.test
tabla1<- tabyl(df,vcClaveTienda, NombreDepartamento)
#GRAFICO CUALITATIVO (funciona)
library(ggplot2)
df$Subtotal <- df$Precio*df$Unidades
ggplot(df, aes(x=vcClaveTienda, y=Subtotal))+
geom_bar(stat="identity")
#DIAGRAMA
library(qcc)
## Package 'qcc' version 2.7
## Type 'citation("qcc")' for citing this R package in publications.
tabla1 <- subset(tabla1, select=c(vcClaveTienda,Abarrotes))
pareto.chart(tabla1$Abarrotes)
##
## Pareto chart analysis for tabla1$Abarrotes
## Frequency Cum.Freq. Percentage Cum.Percent.
## A 9.541000e+04 9.541000e+04 4.812028e+01 4.812028e+01
## D 8.223400e+04 1.776440e+05 4.147493e+01 8.959521e+01
## E 1.001400e+04 1.876580e+05 5.050587e+00 9.464579e+01
## B 6.590000e+03 1.942480e+05 3.323683e+00 9.796948e+01
## C 4.026000e+03 1.982740e+05 2.030523e+00 1.000000e+02
#GRAFICA DISPERSION (funciona)
plot(df$Precio,df$Unidades,main="Relación entre Precio y Unidades", xlab="Precio", ylab="Unidades")
#GRAFICA CAJA (funciona)
boxplot(df$Precio, horizontal=TRUE)
boxplot(df$Unidades, horizontal=TRUE)
#PROPUESTA
#Tomando una postura del lado de la mercadotécnia, las soluciones serian realizar un estudio de mercado en donde por medio de preguntas estrategicas se logren obtener datos que nutran las bases para realizar futuros anlaisis