Está en la página 1de 10

R Notebook

Razonamiento Cuantitativo con Datos I

Ayudantia: Caso “Sales”


library(tidyverse)

## -- Attaching packages --------------------------------------- tidyverse 1.3.1 --


## v ggplot2 3.3.3 v purrr 0.3.4
## v tibble 3.1.1 v dplyr 1.0.6
## v tidyr 1.1.3 v stringr 1.4.0
## v readr 1.4.0 v forcats 0.5.1
## -- Conflicts ------------------------------------------ tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag() masks stats::lag()
library(readxl)

sales <- read_xls("Sales-ACME.xls")

sales %>% view()


sales %>% names()

## [1] "Region" "Country" "Item Type" "Sales Channel"


## [5] "Order Date" "Order ID" "Ship Date" "Units Sold"
## [9] "Unit Price" "Unit Cost"

Pregunta 1: Cuál es la venta total de la compañia, Profit y costo?


Para responder esta pregunta, primero tenemos que crear la variable Venta, la cual corresponde a la
multiplicación de las unidades vendidas por el precio. (note que estamos agregando la nueva variable a la
base de datos original sales)
sales <- sales %>% mutate('Ventas' = `Unit Price` * `Units Sold`)

De la misma manera, creamos la variable costo, como el producto entre unidades vendidas y el costo de ellas.
sales <- sales %>% mutate('Costo' = `Unit Cost` * `Units Sold`)

Podemos visualizar la base de datos con las variables creadas


sales %>% view()

Para calcular el Profit, calculamos la diferencia entre las ventas y el costo para cada orden de compra:
sales <- sales %>% mutate('Profit' = Ventas - Costo)

Podemos visualizar la base de datos resultante con el siguiente comando:


sales

1
## # A tibble: 5,000 x 13
## Region Country `Item Type` `Sales Channel` `Order Date` `Order ID`
## <chr> <chr> <chr> <chr> <chr> <dbl>
## 1 Central Ame~ Antigua and~ Baby Food Online 12/20/2013 957081544
## 2 Central Ame~ Panama Snacks Offline 40305 301644504
## 3 Europe Czech Repub~ Beverages Offline 40886 478051030
## 4 Asia North Korea Cereal Offline 5/13/2010 892599952
## 5 Asia Sri Lanka Snacks Offline 7/20/2015 571902596
## 6 Middle East~ Morocco Personal C~ Offline 40401 412882792
## 7 Australia a~ Federated S~ Clothes Offline 3/28/2011 932776868
## 8 Europe Bosnia and ~ Clothes Online 10/14/2013 919133651
## 9 Middle East~ Afghanistan Clothes Offline 8/27/2016 579814469
## 10 Sub-Saharan~ Ethiopia Baby Food Online 4/13/2015 192993152
## # ... with 4,990 more rows, and 7 more variables: Ship Date <chr>,
## # Units Sold <dbl>, Unit Price <dbl>, Unit Cost <dbl>, Ventas <dbl>,
## # Costo <dbl>, Profit <dbl>
Ahora podemos calcular las ventas totales, costo total y profit total de la compañía
sales %>% summarize('Venta total' = sum(Ventas), 'Costo total' = sum(Costo), 'Profit total' = sum(Profit

## # A tibble: 1 x 3
## `Venta total` `Costo total` `Profit total`
## <dbl> <dbl> <dbl>
## 1 6618437952 4649336486 1969101466

Pregunta 2: Cual es el total de venta, Costo y Profit por región (Muestre los
resultados en un gráfico de columnas).
Para calcular el total de ventas/Costo/Profit por Región, agrupamos los datos por Región y luego sumamos
las variable nuevas que creamos. Asignamos el resultado a una nueva variable (Region para que nos quede
ordenado y guardado)
Region <- sales %>%
group_by(Region) %>%
summarize(SumaVentas = sum(Ventas),
SumaCostos = sum(Costo),
SumaProfit = sum(Profit) )

Podemos visualizar la tabla creada con los resultados calculados con el siguiente comando:
Region

## # A tibble: 7 x 4
## Region SumaVentas SumaCostos SumaProfit
## <chr> <dbl> <dbl> <dbl>
## 1 Asia 918801262 639740568 279060694
## 2 Australia and Oceania 586521090 411107873 175413217
## 3 Central America and the Caribbean 683841074 478659626 205181448
## 4 Europe 1700943781 1197625668 503318113
## 5 Middle East and North Africa 765611507 533576351 232035156
## 6 North America 150827803 109452336 41375467
## 7 Sub-Saharan Africa 1811891435 1279174064 532717371
Hacemos un gráfico de columnas para cada una de las variable por separado.
Region %>%
ggplot(aes(x = Region, y = SumaVentas)) +

2
geom_col()

1.5e+09
SumaVentas

1.0e+09

5.0e+08

0.0e+00

Asia Australia
Central
and Oceania
America and the Caribbean
Europe
Middle East and NorthNorth
Africa
America
Sub−Saharan Africa
Region
Como se puede observar, los nombres de las variables se confunden entre si y no se logran distinguir. Para
mejorar el gráfico, cambiaremos la orientación de los nombres.
Region %>%
ggplot(aes(x = Region, y = SumaVentas)) +
geom_col() +
guides(x = guide_axis(angle = 45))

3
1.5e+09
SumaVentas

1.0e+09

5.0e+08

0.0e+00
ia

pe

a
ia

a
an

ic

ric
ric
As

an

ro
be

er

Af
Af
ce

Eu

Am
ib

n
th
O

ar

ra
or
C

th
d

ha
an

or
e

Sa
th

N
lia

an
d

b−
ra

an

st

Su
st

Ea
a
Au

ic
er

e
dl
m

id
lA

M
tra
en
C

Region
Para la variable Costo tenemos el siguiente gráfico:
Region %>%
ggplot(aes(x = Region, y = SumaCostos)) +
geom_col() +
guides(x = guide_axis(angle = 45))

4
1e+09
SumaCostos

5e+08

0e+00
ia

pe

a
ia

a
an

ic

ric
ric
As

an

ro
be

er

Af
Af
ce

Eu

Am
ib

n
th
O

ar

ra
or
C

th
d

ha
an

or
e

Sa
th

N
lia

an
d

b−
ra

an

st

Su
st

Ea
a
Au

ic
er

e
dl
m

id
lA

M
tra
en
C

Region
El profit total por Región se grafica en la siguiente figura:
Region %>%
ggplot(aes(x = Region, y = SumaProfit)) +
geom_col() +
guides(x = guide_axis(angle = 45))

5
4e+08
SumaProfit

2e+08

0e+00
ia

pe

a
ia

a
an

ic

ric
ric
As

an

ro
be

er

Af
Af
ce

Eu

Am
ib

n
th
O

ar

ra
or
C

th
d

ha
an

or
e

Sa
th

N
lia

an
d

b−
ra

an

st

Su
st

Ea
a
Au

ic
er

e
dl
m

id
lA

M
tra
en
C

Region
Que puede concluir de los gráficos? - La Region que genera mayor profit para la compañia es sub-saharan
African, mientras que la que menor Profit genera es North America - La región que más ventas genera es
sub-saharan African

Pregunta 3: Grafique un histograma de las ventas realizadas por


la campañia, calcule los estadisticos básicos y realice un boxplot.
Que puede observar?
sales %>%
ggplot(aes(x = Ventas)) +
geom_histogram(bins = 50)

6
400
count

200

0e+00 2e+06 4e+06 6e+06


Ventas

sales %>% summarize('Promedio'=mean(Ventas),


'minimo'= min(Ventas),
'Maximo'= max(Ventas),
'Desviacion Standard'=sd(Ventas))

## # A tibble: 1 x 4
## Promedio minimo Maximo `Desviacion Standard`
## <dbl> <dbl> <dbl> <dbl>
## 1 1323688. 63 6669980 1475001.
sales %>%
ggplot(aes(x = Ventas)) +
geom_boxplot()

7
0.4

0.2

0.0

−0.2

−0.4
0e+00 2e+06 4e+06 6e+06
Ventas

Pregunta 4: Cual es el producto que mayor profit aporta a la com-


pañia. (grafique el profit generado por cada producto)
Producto <- sales %>% group_by( `Item Type` ) %>% summarize('ProfitProducto'= sum(Profit)) %>% arrange(d

Producto %>%
ggplot(aes(x = `Item Type` , y = ProfitProducto)) +
geom_col() +
guides(x = guide_axis(angle = 45))

8
3e+08
ProfitProducto

2e+08

1e+08

0e+00
d

es

es

its
s

ld

ks
s

s
ea

ea
ic

lie

le
o

ar
ho
u

ac
g

th
Fo

et

ab
er

C
pp
Fr
ra

lo

se

Sn
m
C

et
al
ve
by

Su
C

os

ou

g
n
Be
Ba

Ve
so
C

ce

r
ffi

Pe
O
Item Type
Como se ve en el gráfico, el producto que mas profit genera para la compañia es Cosmetics, mientras que el
que genera menos profit es Fruits.

Pregunta 5: Como es la venta de Cosmetics en Europa por país


(grafique el resultado)
“Region” “Country”
ProductoPais <- sales %>% filter(Region == "Europe", `Item Type` == "Cosmetics") %>% group_by(Country) %

ProductoPais %>%
ggplot(aes(x = Country , y = VentaCosmeticos)) +
geom_col() +
guides(x = guide_axis(angle = 45))

9
VentaCosmeticos

Bo A

0.0e+00
5.0e+06
1.0e+07
1.5e+07

sn Anlba
ia n
an Audor ia
d B s ra
H B elatria
er e r
ze lg us
g i
Bu ovum
C in
ze Clgar a
ch Croa ia
R yp tia
D epu rus
en b
Esmalic
to r k
G Fra nia
er n
c
G ma e
H re ny
un ec
Ic ga e
e r
Irelan y
Li K la d
ec osond
ht La vo

10
Lu Li ens tvia
x th te
M em uanin
ac bo ia
ed ur
o g

Country
M Mania
o
M M ld lta
on o ov
te na a
N negco
o r
P rw o
Po ola ay
R rtu nd
o
Sa Rmagal
n usnia
M s
ar ia
SlSerino
Sl ovabia
ov ki
e a
S S S nia
U wit wepain
ni
te Uzer den
d la
Va Ki kra nd
tic ngd ine
an o
Cm
ity

También podría gustarte