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.

No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

EDA con dataset proyecto - histogramas - ggplot2

18/35
Recursos

Aportes 45

Preguntas 5

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

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 () 馃挕

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

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())

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

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')

#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())

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.

Hola! Este v铆deo de Youtube explica m谩s en profundidad sobre ggplot2
https://www.youtube.com/watch?v=0wpLOsqwhWs&t=163s

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))

se debe agregar en el ggplot lo siguiente:

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

Independiente de lo desactualizado que este el curso, desafortunadamente es un curso como en la mayor铆a de platzi en la parte practica se encargan de hacer un ejemplo que internamente definieron para aplicar pero no explican en absolutamente nada cada consulta que hacen o por lo menos su sintaxis que es lo que realmente la gente necesita aprender, a esta altura del curso es la sensaci贸n.

Seguramente no haga eco esto, pero es as铆.

# 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

Vengo hacer peque帽as aportes que les puede servir a personas nuevas as铆 que sigan leyendo 馃馃憞

Bueno este es el c贸digo de la clase pero cuando lo ejecuto me aparece error y es que GDP.PC no se encuentra en el entorno actual de R, es decir no encuentra esa columna en el Data Set .

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

As铆 que para solucionarlo les dejo esta alternativa que si funciona para la nueva versi贸n de R recuerden escribir todo el nombre de la columna del Data set, esta es la alternativa que use馃憞 :

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

El 煤nico cambio fue ponerlos en esa comillas y me funciono, para los otros es lo mismo utilizando esas comillas pero colocando el nombre completo que les aparece en el Data Set si les aparece con estos signos 鈥$,%,&鈥, se los deben poner si no les va aparece el error que dije anteriormente 馃憜, espero que les sirva 馃懇鈥嶐煉火煠.

gracias a todos por sus aportes, son geniales.

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

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

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

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"))```


Esta fue mi soluci贸n:

ggplot() + geom_histogram(data = orangeec,aes(x=Internet.penetration...population), fill = "blue", color = "red",
                          binwidth = 5) + labs(x="PIB per Capita", title = "PIB Per capita en paises latam") + theme(legend.position = "none" )+
  theme(panel.background = element_blank(), panel.grid.major = element_blank(), panel.grid.minor = element_blank()) + scale_x_continuous(breaks =seq(0,100, by = 5))


Hola!
Un aporte, https://colorhunt.co/ paletas de colores con su respectivo c贸digo. Solamente es cambiar el nombre del color por el c贸digo, ejemplo: 鈥渂lue鈥 por 鈥#2146C7鈥

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

Desafio:

ggplot()+geom_histogram(data = orangeec,
                        aes(x=Internet.penetration...population), fill="red", color="yellow", # con fill elijo el color de relleno de mis barras, con color el color de contorno
                        binwidth = 5)+
  scale_x_continuous(breaks = seq(40,max(100),5))+
  labs(x= "Penetracion internet (%)poblaci贸n", y="Cantidad de paises",
       title= "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())

Resultado:

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())
 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 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())