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(“plyr”).

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 ‘rename’ luego de instalar el paquete plyr deben cargarlo:
library(“plyr”)
ó
en el panel de Packages dar check a la casilla de plyr

Recuerden, despues de intalar la libreria “plyr” 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 “plyr” me solicitó instalar “Rcpp” y “R tools”. Incluso RStudio da los links de descarga. Luego de instalarlos recien pude instalar el “plyr”. Finalmente tuve que dar check en la ventana de package para poder utilizar el “rename” 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 “Creat.Ind…GDP” a “AporteEcNja”)

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(“plyr”)

Operadores para comparar y ubicar datos

En mi caso , cuando intente descargar el paquete de “plyr” me aparecio el siguiente error:

“Please 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(“make”)
3- Ejecutar la siguiente linea para instalar el paquete: install.packages(“plyr”, type = “source”

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 “orangeec”, 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 “plyr” y la función “rename” no les esta funcionando, intenten usarlo de la siguiente forma: plyr::rename(OrangeEcon,c(“Creat.Ind…GDP”=“AporteEcNja”))

#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…GDP?

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(“plyr”)

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 “plyr” no corre la línea para renombrar, porque es eso?
Error in rename(orangeec, c(Crea.Ind…GDP = “AporteEcNja”)) :
could not find function “rename”

para lo que tienen errores al usar rename pueden hcaer esto
install.packages(“reshape”) => instalan por consola la libreria
library(reshape) => luego la llaman en su archivo de r y proceden hacer el rename
rename(orangeec_dataset,c(“Creat.Ind…GDP”=“AporteEconomi”))

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(“Nombre_col1”, “Nombre_col2”, “Nombre_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(“plyr”), 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,“Internet penetration % population”>80
& “Education 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: ‘GDP.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 versión 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 versión 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().