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

Operadores para comparar y ubicar datos

11/35
Recursos

En R cuentas con los operadores de comparaci贸n comunes como == o |, pero adem谩s cuentas con el operador:

  • %in% Que sirve para checar si un elemento se encuentra en el dataset

Para hacer una selecci贸n de elementos de un vector, matriz o data frame podemos usar la funci贸n subset.

Podemos renombrar una variable de nuestro dataset orangeec, para ello debemos tener instalado el paquete plyr. En caso de no tener el paquete instalado solamente corremos en la consola el c贸digo install.packages(鈥減lyr鈥).

Aportes 69

Preguntas 19

Ordenar por:

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

Importante
Para usar 鈥榬ename鈥 luego de instalar el paquete plyr deben cargarlo:
library(鈥減lyr鈥)

en el panel de Packages dar check a la casilla de plyr

Recuerden, despues de intalar la libreria 鈥減lyr鈥 deben llamarla para que no le vaya a poner problemas

install.packges(plyr)
library(plyr)

Al hacer el rename se cambia el nombre solo en la consola, pero no en el dataset. Para que cambie en el dataset, a m铆 me funcion贸:

orangeec <- rename(orangeec,c('Creat.Ind...GDP' = 'AporteEcNja'))```

Para seleccionar multiples columnas dentro del subset pueden usar un contenedor, por ejemplo,

neworangeec <- subset(orangeec,
                      Internet.penetration...population > 80
                      & Education.invest...GDP >= 4.5,
                      select = c(Country,Creat.Ind...GDP))

Les dejo un link con m谩s usos del subset aqu铆

En mi caso para la instalaci贸n del 鈥減lyr鈥 me solicit贸 instalar 鈥淩cpp鈥 y 鈥淩 tools鈥. Incluso RStudio da los links de descarga. Luego de instalarlos recien pude instalar el 鈥減lyr鈥. Finalmente tuve que dar check en la ventana de package para poder utilizar el 鈥渞ename鈥 sin problemas.
![](

Si alguno de los compa帽eros no les ejecuta la consulta por alg煤n error, intentar de la siguiente manera.

neworangeec <- subset(orangeec, 'Internet penetration % population' > 80
                      & 'Education invest % GDP' >= 4.5,
                      select = 'Creat Ind % GDP')

A T E N C I 脪 N
#a esta clase
.
.
< menor que

.
.
>= mayor o igual que

.
.
<= menor o igual que

(es decir Costa Rica, Ecuador, Peru y Uruguay son los paises que menos estan aportando a su PIB desde su economia naranja)
.
.
subset()

(mas del 80% de la poblacion de Argentina, Costa Rica y Paraguay recibe internet y tienen mas del 4.5% de su PIB como inversion en educacion)
.
.
select()

(1.- Argentina, 7.- Costa Rica y 15.- Paraguay tienen una penetracion de internet superior al 80%, con una inversion en educacion de mas del 4.5% de su PIB, aportan a su PIB desde la economia naranja el 3.8%, el 2% y el 4.1% respectivamente)
.
.
rename()

(cambio de 鈥淐reat.Ind鈥DP鈥 a 鈥淎porteEcNja鈥)

Si saben python esto va a ser un paseo por el parque

Para hacer un subset que me traiga varias columnas no solo una:

Consulta <- subset(orangeec, Internet.penetration...population > 80 & Education.invest...GDP >=4.5, select = c(Country,Creat.Ind...GDP))

Para cargar el paquete solo deben hacer library(鈥減lyr鈥)

Operadores para comparar y ubicar datos

En mi caso , cuando intente descargar el paquete de 鈥減lyr鈥 me aparecio el siguiente error:

鈥淧lease download and install the appropriate version of Rtools before proceeding:鈥

Me dirigui al URL que me indicaba:
https://cran.rstudio.com/bin/windows/Rtools/rtools40.html

Instale la version del Rtool segun la version de mi windows y segui los pasos que me indicaba la pagina:

1- Crear un file de texto en el archivo documentos con el nombre 鈥.Renviron鈥 con la siguiente linea de texto PATH="${RTOOLS40_HOME}\usr\bin;${PATH}"
2- Reiniciar R y ejecutar la siguiente linea: Sys.which(鈥渕ake鈥)
3- Ejecutar la siguiente linea para instalar el paquete: install.packages(鈥減lyr鈥, type = 鈥渟ource鈥

Por qu茅 debemos usar la coma luego de una instrucci贸n de filtrado? por ejemplo el caso a continuaci贸n, y por qu茅 falla si no ponemos la coma?

orangeec[orangeec$GDP.Growth..>=2.9,]

En R studio hay una pesta帽a que se llama PACKAGE en el costado inferior derecho ah铆 tambi茅n pueden ver si esta instalado el paquete PLYR .

Hay otra forma de renombrar:

names(orangeec)[6]<-paste("AporteEcNja")

Hola muy buenas, 驴Por qu茅 luego de renombrar la columna mediante la funci贸n rename y volver a cargar el dataset 鈥渙rangeec鈥, este cambio de nombre no se refleja? solo lo veo en la respuesta de ejecuci贸n. 驴O debo mandar ese resultado a un nuevo dataset mediante <-?

Estoy repitiendo el curso de R con Sonia porque con la Espa帽ola no entend铆 nada. Ahora todo tiene sentido. Gracias Sonia!!

Si instalaron el paquete 鈥減lyr鈥 y la funci贸n 鈥渞ename鈥 no les esta funcionando, intenten usarlo de la siguiente forma: plyr::rename(OrangeEcon,c(鈥淐reat.Ind鈥DP鈥=鈥淎porteEcNja鈥))

#a mi me corre de esta manera
neworangeec<-subset(orangeec,"Internet penetration % population">80
                    & "Education invest % GDP">=4.5)```

Para la funci贸n rename, siempre se puede utilizar alguna opci贸n m谩s consistente. Recomiendo el paquete dplyr, dado que permite integraci贸n con otro tipo de data. Pero, el ejemplo usado en clase no es suficiente, es necesario que se almacene el cambio o simplemente no quedar谩 reflejado el cambio fuera de consola. A continuaci贸n, en la imagen dej贸 dos formas de hacerlo, ambas igualmente consistentes.

Es de anotar, que tanto library() como require() sirven para el cargado de librer铆as, pero require() tiene un plus a la hora de programar con condicionales.

Y sobre la instrucci贸n %>%, es la forma en que se manejan los pipeline en R. Por decirlo de alguna manera, es la forma de hilar los resultados de una funci贸n para que sean los ingresos de la siguiente funci贸n. En el caso del ejemplo, el data.frame es el insumo para la funci贸n rename()

Me lanz贸 error al instalar plyr en Ubuntu. Si usan ubuntu, es posible que no tengan instalado el compilador y por eso les tire el error. Para instalarlo:
sudo apt install make gcc g++ cmake gfortran r-base-dev

(Fuente: https://community.rstudio.com/t/can-not-install-any-package-on-linux/115358/3)

Que maravilla todo lo que se puede hacer

Error in mtcars(mtcars$cyl < 6, ) : could not find function "mtcars"
como solucciono este error?

驴Por qu茅 luego de correr el rename (y ver que efectivamente cambi贸 el nombre de la variable) corro summary(orangeec) y me sale el nombre de variable como Creat.Ind鈥DP?

Otra forma de ver el primer ejemplo
mtcars[mtcars$cyl<6, ]
mtcars[fFila,Columna]
-La raz贸n por la cual esta vac铆a es para obtener todas las columnas

En mi caso tengo la versi贸n RStudio 4 y para poder instalar Plyr tuve que hacerlo desde la opci贸n de el apartado de Packages y en el men煤 Install pudes introducir el nombre de la librer铆a y te da las opciones y hay que habilitar el check Install dependencies.![](

== igual
!= no igual (diferente)
< menor que
<= menor o igual que

mayor que
= mayor o igual que
| o
! No
%in% que este en el dataset

Operador %in%
M谩s sobre este operador y R鈥

infE-Book

Tengo la version de R Studio 3.4.1. instalada y todos los resultados me salen diferentes, alg煤n consejo en mi caso??

Para cargar el paquete solo deben hacer library(鈥減lyr鈥)

Peru y Uruguay tambi茅n esta en la lista de los pa铆ses que aportan menos a la Econom铆a naranja y no los nombr贸.

#FueraCorreaFuera

Hola a pesar que instale 鈥減lyr鈥 no corre la l铆nea para renombrar, porque es eso?
Error in rename(orangeec, c(Crea.Ind鈥DP = 鈥淎porteEcNja鈥)) :
could not find function 鈥渞ename鈥

para lo que tienen errores al usar rename pueden hcaer esto
install.packages(鈥渞eshape鈥) => instalan por consola la libreria
library(reshape) => luego la llaman en su archivo de r y proceden hacer el rename
rename(orangeec_dataset,c(鈥淐reat.Ind鈥DP鈥=鈥淎porteEconomi鈥))

cual es la diferencia entre:
(a & b)
y
(a && b)

final_matrix <- rbind(tiempo_matrix, c(10, 15, 30, 5, 0))

refinal_matrix<- cbind(final_matrix, c(20, 15, 10))

dias <- c("lunes", "martes", "miercoles", "jueves", "viernes", "sabado")
tiempo <- c("tiempo platzi", "tiempo lecturas", "tiempo repaso")
colnames(refinal_matrix)<- dias
rownames(refinal_matrix) <- tiempo
refinal_matrix```

Un atajo para el "<-"
alt + "gui贸n (-)"
Al igual para correr una l铆nea, seleccionan todo y corren pero basta con colocar el cursor al final de la l铆nea y dar Ctrl + Enter

Resumen

Otra forma de hacer el subset() en R, aplicando la instruccion orangeec$("nombre del campo")

Ni siquiera explica bien cuando usar corchetes y cuando usar par茅ntesis.
De verdad eres mala Sonia.

Tienen 2 formas de utilizar las librerias como plyr:

Forma 1
plyr::rename(data,c("Creat.Ind...GDP" = "AporteEcNja"))

Forma 2
require('plyr') rename(data,c("Creat.Ind...GDP" = "AporteEcNja"))

Ambas formas se pueden asignar a un dataset para persistir los resultados

Genial como estoy entendiendo las Variables, tipos de datos y estructuras de R con Sonia!!!

A alguien m谩s le pasa que cada rato me dice que no se ha encontrado el objeto orangeec?

consultita鈥 como pudo poner select para mostrar 2 columnas, por ejemplo la columna de country y otra mas鈥

Excelente clase, a practicar mas para sacarle dominar el tema

`mtcars[mtcars$cyl<6,]

orangeec[orangeec$GDP.PC>=15000,]
orangeec[orangeec$Creat.Ind...GDP<=2,]

neworangeec <- subset(orangeec, Internet.penetration...population > 80 & Education.invest...GDP >= 4.5)
neworangeec

neworangeec <- subset(orangeec, Internet.penetration...population > 80 & Education.invest...GDP >= 4.5, select = Creat.Ind...GDP)
neworangeec

rename(orangeec,c('Creat.Ind...GDP'='AporteECNja'))````

Operadores Aritm茅ticos

  • Adici贸n
  • Substracci贸n
  • Multiplicaci贸n
    / Divisi贸n
    ^ Potencia
    %% M贸dulo
    %/% Divisi贸n de enteros.

Operadores Comparativos:
< Menor que

Mayor que
<= Menor o igual que
= Mayor o igual que
== Igual
!= Diferente de

Operadores L贸gicos:
! No l贸gico
& Y l贸gico
| O l贸gico
all
any

Al instalar la librer铆a **plyr **podremos renombrar las columnas de un dataset con el siguiente comando: rename(orangeec,c("NombreActualColumna"="NombreNuevoColumna"))

# O P E R A D O R E S

#  Nos permiten ejecutar consultas directamente sobre los DataSets

#Ejm: Traer los carros con menos de 6 cyl (cilindos)
mtcars[mtcars$cyl<6,]

#Ejm: Traer del dataset de economia naranja todos los paises con GDP igual o mayor a 15.000
orangeec[orangeec$GDP.PC>=15000,]

orangeec[orangeec$Creat.Ind...GDP<=2,]

#Ejm: Subconjuntos o SUBSET, se extrae en un dataset nuevo un subconjunto dados unos criterios

Consulta <- subset(orangeec, Internet.penetration...population > 80 & Education.invest...GDP >=4.5)

#Ejm: Podemos especificar que columnas requerimos de la base de datos
Consulta <- subset(orangeec, Internet.penetration...population > 80 & Education.invest...GDP >=4.5, select = c(Country,Creat.Ind...GDP))

### LIBRERIA: PLYR install.packages("plyr") -> Tools for splitting, Applying and Combining Data

#Usaremos la libreria PLYR para renombrar nombres de columnas
rename(orangeec,c("Creat.Ind...GDP"="AporteEcNaj"))


Recomiendo la libreria data table para manejar mas facil las tablas

Se puede cambiar el nombre de las columnas ejecutando el siguiente codigo:

names (Nombre_Tabla) = c(鈥淣ombre_col1鈥, 鈥淣ombre_col2鈥, 鈥淣ombre_col3鈥)

no se porque no me sale, necesito tal vez instalar algo en R estudio o que posiblemente puedo estar haciendo mal

Aqui dejo algo de documentacion sobre subset
Documentacion 馃

Me sali贸 el mensaje de error cuando instal茅 la librer铆a usando install.packages(鈥減lyr鈥), pero luego le di check a plyr en la barra de packages y funcion贸.

En mi caso me aparecieron unos nombres de columnas diferentes, desde V1 hasta V13, quiz谩 por la versi贸n de R. Dejo c贸digo ajustado a esto:

orangeec[orangeec$V2>=15000,]

orangeec[orangeec$V6<=2,]


neworangeec <- subset(orangeec, V10 > 80 & V13 >= 4.5)
neworangeec

rename(orangeec, c("V6" = "AporteEN"))```

Para los que no les funcione esto

neworangeec <- subset(orangeec,
                      Internet.penetration...population > 80
                      & Education.invest...GDP >= 4.5,
                      select = c(Country,Creat.Ind...GDP))

y tampoco esto

neworangeec<-subset(orangeec,鈥淚nternet penetration % population鈥>80
& 鈥淓ducation invest % GDP鈥>=4.5)

es porque importaron el dataset sin el heading, y sus variables se llaman V1, V2, V3, V4

Tambi茅n podr铆amos poner en el select varias columnas as铆:

neworangeec <- subset(orangeec, Internet.penetration...population > 80
                      & Education.invest...GDP >= 4.5,
                      select = c(Country, Creat.Ind...GDP))

Muy interesante la clase, me esta empezado a gustar R.

#buqueda

#dtaset mtcars cuales tienen menos de 6 cilinddros
mtcars[mtcars$cyl<6,]

#dataset orangeec donde el pib per capita sea mayor a 15000
orangeec[orangeec$GDP.PC>15000, ]

#paises que estan aportando por debajo de 2 en la economia naranja
orangeec[orangeec$Creat.Ind...GDP<=2, ]

#paises con ppenetracion de internet mayor a 80% y con inversion de su pib en educacion de mayor o igual a 4.5
neworangeec <- subset(orangeec, Internet.penetration...population > 80 & Education.invest...GDP >= 4.5)

neworangeec

neworangeec <- subset(orangeec, Internet.penetration...population > 80 & Education.invest...GDP >= 4.5, selec = Creat.Ind...GDP)

neworangeec

#cambiar nombre a variables
rename(orangeec, c("Creat.Ind...GDP"="AporteEcoNaranja"))

**_Cuidado _**con el autocompleter, asegurarnos de usar:

install.packages()

Hola! Estoy ingresando orangeec [orangeec$GDP.PC >= 15000,]
y me sale:

orangeec [orangeec$GDP.PC >= 15000,]

A tibble: 0 x 13

鈥 with 13 variables:

Country <chr>, GDP PC <dbl>,

GDP US bill <dbl>, `GDP Growth

%<dbl>,Services % GDP` <dbl>,

Creat Ind % GDP <dbl>,

Inflation <dbl>,

Unemployment <dbl>, `% pop below

poverty line<dbl>,Internet

penetration % population` <dbl>,

Median age <dbl>, `% pop

25-54<dbl>,Education invest %

GDP` <dbl>

Warning messages:
1: Unknown or uninitialised column: 鈥楪DP.PC鈥.
2: Length of logical index must be 1 or 17, not 0

Alguien sabe por qu茅? :c

Si tienen dudas respecto a subset, acuerden utilizar

?subset
mtcars[mtcars$cyl<6,]

orangeec[orangeec$GDP.PC>=15000,]

orangeec[orangeec$Creat.Ind...GDP<=2,]

neworangeec <- subset(orangeec, Internet.penetration...population > 80
                      & Education.invest...GDP <= 4.5)

neworangeec

neworangeec <- subset(orangeec, Internet.penetration...population > 80
                      & Education.invest...GDP <= 4.5,
                      select = Creat.Ind...GDP)

rename(orangeec,c('Creat.Ind...GDP'="AporteEcNja"))

Dejo un resumen de la clase:馃煝

# Operadores para comparar y ubicar datos ______________________________________

mtcars[mtcars$cyl < 6, ] # En esta busqueda de datos, el primer argumento corresponde
                  # a una busqueda en los registros. Mientras que el segundo
                  # corresponde a una busqueda en las variables. En este caso,
                  # nuestra b煤squeda esta centrada en las observaciones, por ello,
                  # se pone la coma y dejamos sin valor la busqueda de variables

# Los paises en los cuales su GDP.PC es mayor(>) o igual(=) a 15000 USD
orangeec[orangeec$GDP.PC >= 15000, ] 

# Los paises en los cuales su aporte al GDP desde las industrias creativas
# es menor (<) o igual(=) a 2%
orangeec[orangeec$Creat.Ind...GDP <= 2, ]

# Buscar datos usando 'subset'
# colnames(orangeec): Ejecute para copiar los nombres de las variables
neworangeec <- subset(orangeec, Internet.penetration...population > 80 
                      & Education.invest...GDP >= 4.5)
neworangeec



# Ahora vamos a seleccionar estos datos pero desde la variable de economia naranja
# Usando 'select' para seleccionar variables
neworangeec <- subset(orangeec, Internet.penetration...population > 80 
                      & Education.invest...GDP >= 4.5,
                      select = Creat.Ind...GDP)
neworangeec

# Vamos a cambiar el nombre de una variable con 'rename'
# en la versin de R (version 4.0.2) m谩s reciente hasta 2020
# esta funci贸n hace parte del paquete 'dplyr'

rename(orangeec,c("AporteEcNja"="Creat.Ind...GDP"))

# Con esta versin de R el primer argumento es el nombre que deseamos y el segundo
# argumento es el nombre que vamos a cambiar

# Para instalar paquetes, consulte este script o algunos tutoriales que he hecho 
# para este curso 

Si desean hacer un subset trayendo +1 columnas lo que deben hacer es en el select, armar un contenedor que contenga los nombres de las columnas que quieren traer.

subset(mtcars,mtcars$cyl>4 & mtcars$hp>110, select = c("model","mpg"))

orangeec[orangeec$GDP.PC>=15000,]
[1] V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12 V13
<0 rows> (or 0-length row.names)

COMO PUEDO CORREGIR ESTE ERROR

== igual != no igual (diferente) < menor que <= menor o igual que > mayor que >= mayor o igual que | o ! No %in% que este en el dataset

Como recomendaci贸n, ya se deber铆a de trabajar con funciones obsoletas para el manejo de dataframes. Sugiero trabajar con el paquete tidyverse().