3 de julio de 2019

Recapitulando…

R de Reproducibilidad y ColaboRación

Autómata

Hablamos de:

  • valor (un valor puntual)
x <- 1 
  • vector (una serie de valores)
x <- c(1,2,3) 
  • dataframe (varios vectores unidos como columnas de una planilla)
##   x y
## 1 1 A
## 2 2 B
## 3 3 C

  • valor numérico (números)
  • valor de caracter (texto, entre "" cada valor)
  • valor lógico (TRUE, FALSE)

Funciones vistas

Concatenar c()

vector1 <- c(1,2,3) 
# concateno números y lo asigno al objeto vector1 que resulta ser un vector numérico
vector2 <- c("A","B","C") 
# concateno letras y lo asigno al objeto vector2 que resulta ser un vector de caracteres

data.frame()

datos<-data.frame(x=vector1, z=vector2, y=c(3,4,5)) 
# creo un data frame con la variable llamada x igual al vector1, la variable llamada z  igual al vector2 y la variable llamada y cuyo contenido lo creo ahí  # mismo ("al vuelo")

$

datos$x # selecciono la variable (vector) x dentro del dataframe datos
## [1] 1 2 3

funciones básicas

log(x=5,base=10) # calculo el logaritmo base 10 de 5
## [1] 0.69897
log(x=5,base=exp(1)) # calculo el logaritmo natural (base e) de 5
## [1] 1.609438
log(5) # si no especifico los argumentos, asume por defecto logaritmo natural de 5
## [1] 1.609438
log(datos$x) # ahora el logaritmo se aplica a un vector,  da como resultado un vector
## [1] 0.0000000 0.6931472 1.0986123

Estadísticas básicas

mean(datos$x) # calculo la media
## [1] 2
max(datos$x) # calculo el máximo
## [1] 3
summary(datos$x) # resumen de la variable x aplico la función summary a un vector
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##     1.0     1.5     2.0     2.0     2.5     3.0

summary(datos) # aplico la función summary a un dataframe
##        x       z           y      
##  Min.   :1.0   A:1   Min.   :3.0  
##  1st Qu.:1.5   B:1   1st Qu.:3.5  
##  Median :2.0   C:1   Median :4.0  
##  Mean   :2.0         Mean   :4.0  
##  3rd Qu.:2.5         3rd Qu.:4.5  
##  Max.   :3.0         Max.   :5.0

Ejercicio 4

Indexado Vector

datos$x[1]
## [1] 1
datos$x[c(1,2)]
## [1] 1 2
datos$x[c(2,1)]
## [1] 2 1

Indexado dataframe

datos[1,]
##   x z y
## 1 1 A 3
datos[,1]
## [1] 1 2 3
datos[1,3]
## [1] 3
datos[c(1,2),"z"]
## [1] A B
## Levels: A B C

Vectores lógicos e indexado

datos[c(TRUE,FALSE,TRUE),]
##   x z y
## 1 1 A 3
## 3 3 C 5
datos[c(TRUE,FALSE,TRUE),1]
## [1] 1 3

Sentencias lógicas

seleccion <- datos$x < 2
seleccion
## [1]  TRUE FALSE FALSE
datos[seleccion,3]
## [1] 3