Bienvenida e introducci贸n

1

Todo lo que aprender谩s sobre el lenguaje R

2

Programaci贸n y Data Science

3

R y proyecto econom铆a naranja.

4

Instalando nuestras herramientas

Variables, tipos de datos y estructuras

5

Los primeros c谩lculos con R y variables

6

Tipos de datos

7

Estructura del dataset del proyecto

8

Vectores

9

Matrices

10

Ejercicios con matrices

11

Operadores para comparar y ubicar datos

12

Factores, listas y echar un vistazo al dataset

EDA: Exploratory data analysis

13

Qu茅 es EDA: Exploratory Data Analysis

14

Gr谩ficas de dispersi贸n e histogramas.

15

Box Plot y su interpretaci贸n

16

EDA con dataset proyecto - Gr谩ficas de dispersi贸n.

17

EDA con histogramas.

18

EDA con dataset proyecto - histogramas - ggplot2

19

EDA con box plot- ggplot2

20

EDA con dataset proyecto - box plot- ggplot2 - dplyr

21

EDA con gr谩ficas de dispersi贸n con m谩s de dos variables - ggplot2

22

EDA con dataset proyecto usando gr谩ficas de dispersi贸n con m谩s de dos variables - ggplot2 - plotly

La estad铆stica de los datos

23

Buscando correlaciones con pairs

24

Confirmando correlaciones con la funci贸n cor

25

Buscando correlaciones con pairs en dataset proyecto

26

Confirmando correlaciones con la funci贸n cor en dataset proyecto.

27

Protegi茅ndonos de los peligros del promedio.

28

Eliminando los NA's para hacer los c谩lculos.

29

Estad铆stica y visualizaci贸n aplicada a an谩lisis de datos de mercadeo.

Ajustando los datos

30

Generando tablas, filtrando y seleccionando datos - dplyr-Parte 1

31

Generando tablas, filtrando y seleccionando datos - dplyr-Parte 2

Mejorando la visualizaci贸n

32

Viendo m谩s informaci贸n con facet wrap - Parte 1

33

Viendo m谩s informaci贸n con facet wrap - Parte 2

Organizar visualizaciones y c贸digo con R Markdown

34

Conociendo R Markdown y organizando los hallazgos del an谩lisis en un documento PDF.

Conclusiones Finales

35

Invitaci贸n a continuar recorriendo el mundo del data science.

A煤n no tienes acceso a esta clase

Crea una cuenta y contin煤a viendo este curso

EDA con dataset proyecto - histogramas - ggplot2

18/35
Recursos

Aportes 38

Preguntas 4

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesi贸n.

para que poder realizar el reto se debe utlizar la siguiente funci贸n
"scale_x_continuous(breaks = seq(40, max(100), 5))"

ggplot()+geom_histogram(data=orangeec, 
                        aes (x=Internet.penetration...population), fill="purple", color="orange", 
                        binwidth= 5 )+
  scale_x_continuous(breaks = seq(40, max(100), 5))+
  labs(x="Penetraci贸n internet (%) de la poblaci贸n", y="Cantidad de paises",
       tittle="Penetraci贸n de internet en paises LATAM")+
  theme(legend.position = "none")+
  theme(panel.background = element_blank(),panel.grid.major = element_blank(),
        panel.grid.minor = element_blank())

CLASE 18 馃
EDA CON DATASET PROYECTO - HISTOGRAMAS - GGPLOT2

.
En esta clase vimos tres representaciones con variables de dataset orangeec. Se copio
el codigo de ggplot usado en la clase anterior
.
LA 1ERA
"PIB per c脿pita en paises latam"

Hay dos paises con 20.000$ de PIB per capita 馃
La mayor cantidad de paises estan en los 10.000$ de PIB per capita 馃槕
.
LA 2DA
"Contribuci貌n de la economa naranja al PIB en latam"

Hay tres paises con un 2% de aporte desde la economia naranja al PIB 馃挬
Hay un pais que aporta al 6% desde la economia naranja al PIB y otro que aporta el 7% desde su economia naranja al PIB 馃榾
.
LA 3ERA
"Penetraci貌n internet en paises latam"

馃憜馃憜馃憜
SOLUCI脪N AL RETO
scale_x_continuous(breaks = seq(40,100,5))
.
Hay un pais con 60% de acceso a internet 馃捇
Hay dos paises con 80% de acceso a internet 馃檪
No hay pais que tenga un 55% de penetracion a internet 馃寪
Hay cuatro paises por debajo del 50% de penetracion a internet en su poblacion 馃う鈥嶁檧锔
El pais que mas tiene acceso a internet cuenta con 95% de penetracion a internet en su poblacion 馃ぉ
.
.
RECORDAD QUE鈥 馃拑
.
En estos graficos de histograma vemos 馃憗 la frecuencia con la que la variable solicitada
esta distribuida 馃搳
.
Para definir el binwidth() hay saber como esta expresada la variable: porcentaje %, dolares $, euros 鈧 etc; y saber sus limites para marcar un intervalo acorde a la secuencia馃拋鈥嶁檧锔
.
Comprueba siempre en ggplot que el simbolo + este siempre al cerrar un parentesis () 馃挕

As铆 queda el reto resuelto y documentado:

ggplot() +
  geom_histogram(data=orangeec,
                 aes(x=Internet.penetration...population), # queremos ver la variable PIB PER CAPITA
                 fill="red", # barritas de color azul
                 color="yellow", # y un contorno rojo
                 binwidth = 5)  + # valor en porcentaje (vamos de a 5% por barra)
  labs(x="penetraci贸n de internet como (%) de la poblaci贸n", 
       y="cantidad de paises",
       title="penetraci贸n de internet en paises de latam") +
  xlim(30,100) + # numeramos del 30% al 100% 
  ylim(0,4) + # ponemos en el eje Y valores del 0 al 4
  scale_x_continuous(breaks = seq(30,100,by=5)) + # le colocamos valores a cada barras (que van del 30% al 100%) cada 5%
  theme(legend.position = "none") +
  theme(panel.background = element_blank(),
        panel.grid.major = element_blank(),
        panel.grid.minor = element_blank())

Colores en R para darle un mejor dise帽o a los gr谩ficos
http://www.stat.columbia.edu/~tzheng/files/Rcolor.pdf

#Distribucion de frecuencias en cuanto a penetracion de internet

ggplot() + geom_histogram(data=orangeec,
aes(x=Internet.penetration鈥opulation), fill=鈥渞ed鈥, color=鈥渂lack鈥,
binwidth = 5)+
labs(x=鈥淧enetracion Internet como % poblacion鈥, y=鈥淐antidad de paises鈥,
title=鈥淧enetracion de internet en paises latam鈥) +
scale_x_continuous(breaks = seq(40,100,5))+
theme(legend.position = 鈥渘one鈥)+
theme(panel.background = element_blank(), panel.grid.major = element_blank(),
panel.grid.minor = element_blank())

Utilic茅 el siguiente c贸digo para poner todos los saltos en el eje x scale_x_continuous(breaks = seq(40,100,5))

Para dar formato a la escala del eje x en el histograma de frecuencias.
Agregar:
...+ scale_x_continuous(name="Nombre_Eje_x", breaks=seq(from = Li, to = Ls, by = St))

donde:
Li: (n煤mero entero) limite inferior del eje x
Ls: (n煤mero entero) limite superior del eje x
by: (n煤mero entero) tama帽o del incremento.

Les comparto el codigo implementado para python

def histograma_config(ax_plot, x, title='', x_label='', y_label=''):
    frec, x_bins, patches = ax_plot.hist(x, edgecolor='k', linewidth=1)
    ax_plot.set_xlabel(x_label)
    ax_plot.set_ylabel(y_label)
    ax_plot.set_title(title)

    color_fracs = frec / frec.max()

    color_norm = colors.Normalize(color_fracs.min(), color_fracs.max())
    color_norm

    for frac, patch in zip(color_fracs, patches):
        color = plt.cm.Blues(color_norm(frac))
        patch.set_facecolor(color)
fig, (pib_plot, aporte_plot, internet_plot)= plt.subplots(nrows = 1, ncols = 3, figsize = (15,3), sharey = True)

histograma_config(ax_plot = pib_plot, 
                  x = orangeec['GDP PC'], 
                  title='PIB per Capita en paises latam', 
                  x_label='PIB per Capita', 
                  y_label='Cantidad de Paises')

histograma_config(aporte_plot, orangeec['Creat Ind % GDP'], 
                  'Contribucion Economia naranja al pib en paises latam', 
                  'Aporte a la Economia Naranja (%)')

histograma_config(internet_plot, orangeec['Internet penetration % population'], 
                  'Penetracion internet en paises latam', 
                  'Penetracion de internet (%)')

fig.savefig('orangeec_hist.png')

Reto cumplido, hay varias formas de escribir la funci贸n scale, aqu铆 3 ejemplos:

Para poner etiquetas sobre el eje de las x
scale_x_continuous(breaks = seq(40, max(100), 5))

hola para todos aquellos que utilicen ubuntu y no puedan correr los conamdos de instalacion desde la consola de R, solo agreguen este coamndo :

sudo apt-get install r-cran-ggplot2

Hola, como puedo saber que tipo de dato son cada numero que me aparece? ejemplo si es un porcentaje o si es una unidad de medida o kilo o libra鈥tc

Para poner todos los labels en x de a 5:

+  scale_x_continuous(breaks = seq(30, 100, by=5))

quedando por ejemplo as铆:

ggplot(orangeec, aes(x=Internet.penetration...population))+geom_histogram(
        fill="red", color="yellow", binwidth = 5)+
        labs(x="Penetracion de internet en % poblacion", y="Cantidad de paises",
             title = "Penetracion de internet en paises latam")+
        theme(legend.position = "none")+
        theme(panel.background = element_blank(), panel.grid.major = element_blank(),
              panel.grid.minor = element_blank())+
        xlim(30, 100)+ ylim(0, 4)+
        scale_x_continuous(breaks = seq(30, 100, by=5))

Adjunto mi reto. Gracias compa帽eros pude aclarar mis dudas

ggplot()+geom_histogram(data = orangeec,
                        aes(x=orangeec$Internet.penetration...population),
                        fill = "red", 
                        color = "yellow",
                        binwidth = 5)+
  labs(x = "Penetracion internet (%) poblacion", y = "Cantidad de Paises",
       title = "Penetracion de Internet en LATAM")+
  scale_x_continuous(breaks = seq(10,max(100),5))
  theme(legend.position = "none")+
  theme(panel.background = element_blank(), panel.grid.major = element_blank(),
        panel.grid.minor = element_blank())

esta es otra forma de colocar las etiquetes en el eje x:

ggplot(orangeec, aes(x = orangeec$Internet.penetration...population))+
  geom_histogram(bins = 5, binwidth = 5, fill = "lightgreen", color = "green")+
  labs(x = "Penetraci贸n de internet (%)",
       title = "histograma de penetracion de internet") +
  scale_x_continuous(breaks = c(40,45,50,55,60,65,70,75,80,85,90,95,100),
                    		 label = c("40","45","50","55","60","65","70","75","80","85","90","95","100"))```


gracias a todos por sus aportes, son geniales.

# histograsma mtcars qplot
library(ggplot2)

qplot(mtcars$hp,
      geom = "histogram",
      xlab = "caballos de fuerza",
      main = "carros seg煤n caballos de fuerza")

ggplot(mtcars, aes(x=hp))+
         geom_histogram()+
         labs(x='Caballos de fuerza',
              y='Cantidad de carros',
              title= 'Cabballos de fuerza en carro seleccionados')+
        theme(legend.position = "none")+
        theme(panel.background = element_blank(),
              panel.grid.major = element_blank(),
              panel.grid.minor = element_blank())

ggplot(mtcars, aes(x=hp))+
  geom_histogram(binwidth = 30)+
  labs(x='Caballos de fuerza',
       y='Cantidad de carros',
       title= 'Cabballos de fuerza en carro seleccionados')+
  theme(legend.position = "none")+
  theme(panel.background = element_blank(),
        panel.grid.major = element_blank(),
        panel.grid.minor = element_blank())

ggplot() + geom_histogram(data=mtcars,
                          aes(x=hp), fill = 'blue', color = 'red',
                          binwidth = 20)+
  labs(x='Caballos de fuerza',
       y='Cantidad de carros',
       title= 'Caballos de fuerza en carro seleccionados')+
  xlim(c(80,288))+
  theme(legend.position = "none")+
  theme(panel.background = element_blank(),
        panel.grid.major = element_blank(),
        panel.grid.minor = element_blank())

# hist orangeec
ggplot() + geom_histogram(data=orangeec,
                          aes(x=GDP.PC), fill = 'blue', color = 'red',
                          binwidth = 2000)+
  labs(x='PIB per c谩pita',
       y='Cantidad de paises',
       title= 'PIB per c谩pita en paises latam')+
  theme(legend.position = "none")+
  theme(panel.background = element_blank(),
        panel.grid.major = element_blank(),
        panel.grid.minor = element_blank())


ggplot() + geom_histogram(data=orangeec,
                          aes(x=Creat.Ind...GDP), fill = 'blue', color = 'red',
                          binwidth = 1)+
  labs(x='Aporte Economia naranja al PIB(%)',
       y='Contribucion de energia naranja al PIB en LATAM',
       title= 'PIB per c谩pita en paises latam')+
  theme(legend.position = "none")+
  theme(panel.background = element_blank(),
        panel.grid.major = element_blank(),
        panel.grid.minor = element_blank())

ggplot() + geom_histogram(data=orangeec,
                          aes(x=Internet.penetration...population), fill = 'red', color = 'yellow',
                          binwidth = 5)+
  labs(x='Penetraci贸n Internet (%) Poblaci贸n',
       y='Cantidad de paises',
       title= 'Penetracion de Internet en paises latam')+
  scale_x_continuous(breaks = seq(40,max(100),5))+
  theme(legend.position = "none")+
  theme(panel.background = element_blank(),
        panel.grid.major = element_blank(),
        panel.grid.minor = element_blank())

documentacion

Como saber cual es la unidad de medida de cada valor segun las variables?? intente saber el de orangeec con summary(orangeec) o con ?orangeec y no puedo ver esa info.

Muy buena clase.

Que diferencias existen en :

geom_line(aes(color="green")) 

con

geom_line(colour= "green")+```

y como puedo colorcar valores hsl  o rgb ? 
<dev.new()
ggplot()+geom_histogram(data=OrE,
                        aes(x=Internet.penetration...population),
                        fill="forestgreen", color="green",
                        binwidth=5)+
  scale_x_continuous(breaks=seq(40,100,5))+
  labs(x="Internet permeating in population (%)", y="Countries",
       title="Internet permeating (%) in Latam countries")+
  theme(legend.position="none")+
  theme(panel.background = element_blank(),panel.grid.major=element_blank(),
        panel.grid.minor = element_blank())>
  
ggplot()+geom_histogram(data=orangeec,
                        aes(x=GDP.PC),fill='blue',color='red',
                        binwidth=2000)+
  labs(x="pib per capital", y="paises",
       title="PIB per capital en paises latam")+
  theme(legend.position = 'none')+
  theme(panel.background = element_blank(),panel.grid.major = element_blank(),
        panel.grid.minor = element_blank())


ggplot()+geom_histogram(data=orangeec,
                        aes(x=Creat.Ind...GDP),fill='blue',color='red',
                        binwidth=1)+
  labs(x="Aporte economia naranja al Pib(%)", y="Cantidad de paises",
       title="Contribucion economia naranja al pib en paises latam")+
  theme(legend.position = 'none')+
  theme(panel.background = element_blank(),panel.grid.major = element_blank(),
        panel.grid.minor = element_blank())

ggplot()+geom_histogram(data=orangeec,
                        aes(x=Internet.penetration...population),fill='red',color='yellow',
                        binwidth=5)+
  labs(x="Penetracion internet(%)pobllacion", y="Cantidad de paises",
       title="Penetracion de internet en paises latam")+
  theme(legend.position = 'none')+
  theme(panel.background = element_blank(),panel.grid.major = element_blank(),
        panel.grid.minor = element_blank())

Para responder al reto agregu茅 la siguiente l铆nea al final del c贸digo:
xlim(30,100)+ylim(0,4)+scale_x_continuous(breaks = seq(30,100,by=5))

y funcion贸 bien

 ggplot()+geom_histogram(data=orangeec,
                          aes(orangeec$`Internet penetration % population`), fill="blue",color="black",
                          binwidth = 5)+
    labs(x="Penetraci贸n Internet(%) poblacion ", y="cantidad de de paises",
         title = "Penetraci贸n de internet en paises Latam")+
    xlim(30,100)+ #numeraci贸n del 30% al 100%
    ylim(0,4)+   #ponemos el eje Yvalores de 0 a 4
    scale_x_continuous(breaks =seq(30,100,by=5) )+ #le colocamos valores cada bara cada  desde el 30% hasta el 100% en tramos de 5%
    
    theme(legend.position = "none")+
    theme(panel.background = element_blank(),panel.grid.major=element_blank(),
          panel.grid.minor=element_blank())```

Hola compa帽eros,

Espero les sea de mucha ayuda.

ggplot()+geom_histogram(data = orangeec,
                        aes(x=Internet.penetration...population), fill='red',color='yellow',
                        binwidth = 5)+
  labs(x='Penetraci贸n Internet (%Poblaci贸n)', y='Cantidad de paises',
       title = 'Penetraci贸n Internet en paise LATM') +
  scale_x_continuous(breaks = seq(40,max(100),5))+
  theme(legend.position = "none")+
  theme(panel.background = element_blank(), 
        panel.grid.major = element_blank(),
        panel.grid.minor = element_blank())```
ggplot()+geom_histogram(data=orangeec, 
                        aes(x=Internet.penetration...population), fill='red', color='gray', binwidth = 5)+
  labs(x="Penetration internet(%) poblacion", y="Cantidad de paises", title="penetration internet in paises LATAM")+
  scale_x_continuous(breaks = seq(40, max(100), 5))+
  theme(legend.position = 'none')+
  theme(panel.background = element_blank(), panel.grid.major = element_blank(), panel.grid.minor = element_blank())

Si al "scale_x_continuous le ponene el break en 0 y no en 40, no causa diferencia.

#Penetracion del Internet ggplot()+geom_histogram(data=orangeec, aes(x=Internet.penetration...population), binwidth = 5)+ theme_classic()+ labs(x="Pentraci贸n internet (%poblacion)", y ="Cantidad de piases", title="Penetraci贸n de internet en pa铆ses latam")+ scale_x_continuous(breaks=seq(0,100, by = 5))

Qu茅 clase tan del carajo! Aprendi un monto en tan solo 7:20 minutos.

  • scale_x_continuous(breaks=seq(0,100,5))

El codigo para economia naranja R 4.0.2

ggplot()+geom_histogram(data=mtcars,
                         aes(x=hp), fill="blue", color="red",
                         binwidth = 20)+
  labs(x="Caballos de fuerza", y="cantidad de carros",
       title="Caballos de fuerza en carros seleccionados")+
  xlim(c(80,280))+
  theme(legend.position = "none")+
  theme(panel.background = element_blank(), panel.grid.major = element_blank(),
        panel.grid.minor = element_blank())

Respuesta al reto: agregar el c贸digo despu茅s de title=鈥淧enetraci贸n de internet en paises LATAM鈥)+

scale_x_continuous(breaks = seq(30,100,by=5))

se debe agregar en el ggplot lo siguiente:

  scale_x_continuous(breaks = c(seq(40,100,5))) +

se debe poner entre geo y labs
geom_histogram(鈥)+
scale_x_continuous(breaks = seq(40, max(100), 5)) +
labs(鈥)+

ggplot()+geom_histogram(data=orange,
                        aes(x=IPP),fill="black", color="red",
                        binwidth = 5)+
  labs(x="Internet penetration as percentage population (%)",y="Contries",
       title = "Percentage of the population with Internet (%)")+
  theme(legend.position = "none")+
  theme(panel.background = element_blank(),panel.grid.major = element_blank(),
        panel.grid.minor = element_blank())