Primer acercamiento al uso del programa

En RStudio podemos tener varias ventanas que nos permiten tener más control de nuestro “ambiente”, el historial, los “scripts” o códigos que escribimos y por supuesto, tenemos nuestra consola, que también tiene el símbolo “>” con R. Podemos pedir operaciones básicas

2+5
## [1] 7
5*3
## [1] 15
#Para escribir comentarios y que no los lea como operaciones ponemos el símbolo de gato
# Lo podemos hacer para un comentario en una línea o la par de una instrucción
1:5               # Secuencia 1-5
## [1] 1 2 3 4 5
seq(1, 10, 0.5)   # Secuencia con incrementos diferentes a 1
##  [1]  1.0  1.5  2.0  2.5  3.0  3.5  4.0  4.5  5.0  5.5  6.0  6.5  7.0  7.5  8.0
## [16]  8.5  9.0  9.5 10.0
c('a','b','c')  # Vector con caracteres
## [1] "a" "b" "c"
1:7             # Entero
## [1] 1 2 3 4 5 6 7
40<80           # Valor logico
## [1] TRUE
2+2 == 5        # Valor logico
## [1] FALSE
T == TRUE       # T expresion corta de verdadero
## [1] TRUE

R es un lenguaje de programación por objetos. Por lo cual vamos a tener objetos a los que se les asigna su contenido. Si usamos una flechita “<-” o “->” le estamos asignando algo al objeto que apunta la felcha.

x <- 24         # Asignacion de valor 24 a la variable x para su uso posterior (OBJETO)
x/2             # Uso posterior de variable u objeto x
## [1] 12
x               # Imprime en pantalla el valor de la variable u objeto
## [1] 24
x <- TRUE       # Asigna el valor logico TRUE a la variable x OJO: x toma el ultimo valor que se le asigna
x
## [1] TRUE

Vectores

Los vectores son uno de los objetos más usados en R.

y <- c(2,4,6)     # Vector numerico
y <- c('Primaria', 'Secundaria') # Vector caracteres

Dado que poseen elementos, podemos también observar y hacer operaciones con sus elementos, usando “[ ]” para acceder a ellos

y[2]              # Acceder al segundo valor del vector y
## [1] "Secundaria"
y[3] <- 'Preparatoria y más' # Asigna valor a la tercera componente del vector
sex <-1:2         # Asigna a la variable sex los valores 1 y 2
names(sex) <- c("Femenino", "Masculino") # Asigna nombres al vector de elementos sexo
sex[2]            # Segundo elemento del vector sex
## Masculino 
##         2

Matrices

Las matrices son muy importantes, porque nos permiten hacer operaciones y casi todas nuestras bases de datos tendran un aspecto de matriz.

m <- matrix (nrow=2, ncol=3, 1:6, byrow = TRUE) # Matrices Ejemplo 1
m
##      [,1] [,2] [,3]
## [1,]    1    2    3
## [2,]    4    5    6
m <- matrix (nrow=2, ncol=3, 1:6, byrow = FALSE) # Matrices Ejemplo 1
m
##      [,1] [,2] [,3]
## [1,]    1    3    5
## [2,]    2    4    6
dim(m)
## [1] 2 3
attributes(m)
## $dim
## [1] 2 3
n <- 1:6     # Matrices Ejemplo 2
dim(n) <- c(2,3)
n
##      [,1] [,2] [,3]
## [1,]    1    3    5
## [2,]    2    4    6
xx <-10:12   # Matrices Ejemplo 3
yy<-14:16
cbind(xx,yy) # Une vectores por Columnas
##      xx yy
## [1,] 10 14
## [2,] 11 15
## [3,] 12 16
rbind(xx,yy) # Une vectores por Renglones
##    [,1] [,2] [,3]
## xx   10   11   12
## yy   14   15   16
mi_matrix<-cbind(xx,yy) # este resultado lo puedo asignar a un objeto

Funciones

Algunas funciones básicas son las siguientes. Vamos a ir viendo más funciones, pero para entender cómo funcionan, haremos unos ejemplos y cómo pedir ayuda sobre ellas.

sum (10,20,30)    # Función suma
## [1] 60
rep('R', times=3) # Repite la letra R el numero de veces que se indica
## [1] "R" "R" "R"
sqrt(9)           # Raiz cuadrada de 9
## [1] 3

Ayuda

Pedir ayuda es indispensable para aprender a escribir nuestros códigos. A prueba y error, es el mejor sistema para aprender. Podemos usar la función help, example y ?

help(sum)         # Ayuda sobre función sum
example(sum)      # Ejemplo de función sum
## 
## sum> ## Pass a vector to sum, and it will add the elements together.
## sum> sum(1:5)
## [1] 15
## 
## sum> ## Pass several numbers to sum, and it also adds the elements.
## sum> sum(1, 2, 3, 4, 5)
## [1] 15
## 
## sum> ## In fact, you can pass vectors into several arguments, and everything gets added.
## sum> sum(1:2, 3:5)
## [1] 15
## 
## sum> ## If there are missing values, the sum is unknown, i.e., also missing, ....
## sum> sum(1:5, NA)
## [1] NA
## 
## sum> ## ... unless  we exclude missing values explicitly:
## sum> sum(1:5, NA, na.rm = TRUE)
## [1] 15

Mi ambiente

Todos los objetos que hemos declarado hasta ahora son parte de nuestro “ambiente” (environment). Para saber qué está en nuestro ambiente usamos el comando

ls()
## [1] "m"         "mi_matrix" "n"         "sex"       "x"         "xx"       
## [7] "y"         "yy"
gc()           # Garbage collection, reporta memoria en uso
##          used (Mb) gc trigger (Mb) limit (Mb) max used (Mb)
## Ncells 447101 23.9     948430 50.7         NA   658002 35.2
## Vcells 853317  6.6    8388608 64.0      16384  1802582 13.8

Para borrar todos nuestros objetos, usamos el siguiente comando, que equivale a usar la escobita de la venta de environment

rm(list=ls())  # Borrar objetos actuales

Directorio de trabajo

Es muy útil saber dónde estamos trabajando y donde queremos trabajar. Por eso podemos utilizar los siguientes comandos para saberlo

Ojo, checa, si estás desdes una PC, cómo cambian las “" por”/" o por “\”

getwd()           # Directorio actual
## [1] "/Users/anaescoto/Dropbox/2020/CursoR-posgrado-pol"
setwd("/Users/anaescoto/Dropbox/2020/CursoR-posgrado-pol")# Cambio de directorio

list.files()      # Lista de archivos en ese directorio
##  [1] "_config.yml"               "CursoR-posgrado-pol.Rproj"
##  [3] "datos"                     "esquisse.png"             
##  [5] "intro1.png"                "LICENSE"                  
##  [7] "P1.md"                     "P1.Rmd"                   
##  [9] "P2.html"                   "P2.md"                    
## [11] "P2.Rmd"                    "P3_files"                 
## [13] "P3.html"                   "P3.md"                    
## [15] "P3.Rmd"                    "P4_files"                 
## [17] "P4.html"                   "P4.md"                    
## [19] "P4.Rmd"                    "P5_files"                 
## [21] "P5.html"                   "P5.md"                    
## [23] "P5.Rmd"                    "P6.R"                     
## [25] "packrat"                   "presentaciones"           
## [27] "README.md"

Checar que esto también se puede hacer desde el menú:

i0

Instalación de librerías

Las librerías son útiles para realizar funciones especiales. La especialización de paquetes es más rápida en R que en otros programas por ser un software libre.

Vamos a instalar el paquete “foreign”, como su nombre lo indica, nos permite leer elementos “extranjeros” en R. Es sumamente útil porque nos permite leer casi todos los formatos, sin necesidad de usar paquetes especializados como StatTransfer.

Para instalar las paqueterías usamos el siguiente comando “install.packages()” Checa que adentro del paréntesis va el nombre de la librería, con comillas.

Con la opción “dependencies = TRUE” R nos instalará no sólo la librería o paquete que estamos pidiendo, sino todo aquellos paquetes que necesite la librería en cuestión. Muchas veces los diseños de los paquetes implican el uso de algún otro anterior. Por lo que poner esta sentencia nos puede ahorrar errores cuando estemos usando el paquete. Piensa que esto es similar a cuando enciendes tu computadora y tu sistema operativo te pide que mantengas las actualizaciones.

Vamos a instalar dos librerías que nos permiten importar formatos.

#install.packages("foreign", dependencies = TRUE)
#install.packages("haven", dependencies = TRUE)

Este proceso no hay que hacerlo siempre. Si no sólo la primera vez. Una vez instalado un paquete de librería, la llamamos con el comando “library”

library(foreign)
library(haven)

“foreing” nos permite leer archivos en formato de dBase, con extensión “.dbf”. Si bien no es un formato muy común para los investigadores, sí para los que generan la información, puesto que dBase es uno de los principales programas de administración de bases de datos.

He puesto un ejemplo de una base de datos mexicana en dbf, en este formato.

ecovid0420<-read.dbf("./datos/ecovid0420.DBF") #checa cómo nos vamos adentro de nuestro directorio

Ejercicio

En su proyecto en rstudio.cloud, realice en nuevo script lo siguiente:

  1. Escriba un vector “x”, con los elementos 2,3,7,9. Muestre el resultado
  2. Escriba un vector “y”, con los elementos 9, 7, 3, 2. Muestre el resultado
  3. Escriba un vector “year” con los años que van desde 1990 a 1993. Muestre el resultado
  4. Escriba un vector “name” con los nombres de 4 de sus compañeros de curso. Muestre el resultado
  5. Cree una matrix “m” 2x4 que incluya los valores 101 a 108, que se ordene según fila
  6. ¿Cuáles son las dimensiones de la matriz “m”?
  7. Cree una matriz “m2” juntado los vectores “x” y “y”, por sus filas
  8. ¿Cuáles son las dimensiones de la matriz “m2”?

Descargue el código y envíelo a través del siguiente formulario: https://forms.gle/ExHBf4zszs5evwro6