Introducción al R.

R Studio es un entorno de desarrollo integrado (IDE) diseñado específicamente para trabajar con el lenguaje de programación R.

Variables en R.

Se asignan valores a la variable mangoy se realizan diversas operaciones matemáticas.

mango<-15
mango<-23

mango<- 
  1000

15 + 2
## [1] 17
mango + 2
## [1] 1002
2 + 2 #Sumas   
## [1] 4
3 - 1 #Restar  
## [1] 2
4*5 #Multiplicar 
## [1] 20
12 / 3 #Dividir 
## [1] 4
7 ^ 2   #Al cuadrado 
## [1] 49
0:25  #Series  
##  [1]  0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
## [26] 25
3 == 5  #Es igual?
## [1] FALSE
5 != 0  #Es distino?
## [1] TRUE
2 > 9   #Mayor 
## [1] FALSE
1 < 8   #Menor
## [1] TRUE
5 >= 5  #Mayor o igual
## [1] TRUE
4 <= 1  #Menor o ogual
## [1] FALSE
mango < -1 #comparacion de texto y numero
## [1] FALSE
meu_primeiro_objeto <- 160

Creación De Variables En R.

ilustran cómo asignar y comparar valores numéricos y de texto en R.

meu_primeiro_objeto <- 160

nome_1 <- "usp" # comillas PARA TODOS LOS VALORES TEXTUALES 
# (CARACTERES)

nome_1
## [1] "usp"
nome_2 <- 'usp'

nome_2
## [1] "usp"
nome_1 == nome_2
## [1] TRUE
nome_1 != nome_2
## [1] FALSE
verdadeiro <- nome_1 == nome_2

verdadeiro
## [1] TRUE
falso <- nome_1 != nome_2

falso
## [1] FALSE

Otros Valores Importantes En R.

estos códigos se utilizan para trabajar con valores lógicos - TRUEy T: Representan el valor lógico verdadero en R. - FALSEy F: Representan el valor lógico falso en R. - NA: Representa un valor especial para datos faltantes o no disponibles en R. - NULL: Representa la ausencia de un valor o un objeto vacío en R. - Infy -Inf: Representan infinito positivo y negativo, respectivamente, en el contexto de valores numéricos.

TRUE #logical
## [1] TRUE
T #logical
## [1] TRUE
FALSE #logical
## [1] FALSE
F #logical
## [1] FALSE
NA #logical ES DISTINO DE CERO!!!!!!
## [1] NA
NULL #NULL
## NULL
Inf #numeric
## [1] Inf
-Inf #numeric
## [1] -Inf

Creación De Vectores.

En resumen, se crea y muestra un vector que contiene una secuencia de números del 1 al 10 en R.

vetor <- 
  c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
vetor
##  [1]  1  2  3  4  5  6  7  8  9 10

Valores Textuales.

se crea y muestra un vector que contiene tres nombres en R.

nomes <- c("mariana", "pedro", "daniela")
nomes
## [1] "mariana" "pedro"   "daniela"

Funciones.

estos códigos se utilizan para redondear números en R y obtener información sobre cómo usar la función round

# redondear:
round(
  x = 3.141592)
## [1] 3
round(x = 3.141592, digits = 2)
## [1] 3.14
# argumentos 

?round
## starting httpd help server ... done
# o asi:
args(round)
## function (x, digits = 0) 
## NULL
round
## function (x, digits = 0)  .Primitive("round")

Coerción.

ilustran cómo los vectores pueden contener diferentes tipos de datos y cómo se clasifican

nomes_e_idades <- c("mariana", 22, "pedro", 30, "daniela", 45)

nomes_e_idades
## [1] "mariana" "22"      "pedro"   "30"      "daniela" "45"
?class
class(nomes_e_idades)
## [1] "character"
class(meu_primeiro_objeto)
## [1] "numeric"
class(verdadeiro)
## [1] "logical"
# De nuevo:
class(nomes_e_idades)
## [1] "character"

Jerarquias.

teste <- c("laranja", 230, FALSE)

teste
## [1] "laranja" "230"     "FALSE"
class(teste)
## [1] "character"
outro_teste <- c(12, 37, FALSE, TRUE, FALSE, TRUE, TRUE, TRUE, TRUE)

outro_teste
## [1] 12 37  0  1  0  1  1  1  1
class(outro_teste)
## [1] "numeric"
missings <- c(12, 37, FALSE, TRUE, FALSE, TRUE, TRUE, TRUE, TRUE, NA)

missings
##  [1] 12 37  0  1  0  1  1  1  1 NA
class(missings)
## [1] "numeric"

Variables Categoricas.

estos códigos crean un vector que contiene tipos sanguíneos representados como texto

tipo_sanguineo <- c(
  "A+", "A-", "B+", "B-", "AB+", "AB-", "O+", "O-")

tipo_sanguineo
## [1] "A+"  "A-"  "B+"  "B-"  "AB+" "AB-" "O+"  "O-"
class(tipo_sanguineo)
## [1] "character"

TransformaciOn.

transforman un vector de texto que representa tipos sanguíneos en un factor, que es una representación más adecuada para datos categóricos en R.

tipo_sanguineo <- factor(tipo_sanguineo)

tipo_sanguineo
## [1] A+  A-  B+  B-  AB+ AB- O+  O- 
## Levels: A- A+ AB- AB+ B- B+ O- O+
class(tipo_sanguineo)
## [1] "factor"

Variables Nominales.

estos códigos crean y muestran un vector que contiene niveles de escolarización representados como texto en R.

nivel_escolarizacao <- c("fundamental", "medio", "pregrado")

nivel_escolarizacao
## [1] "fundamental" "medio"       "pregrado"
class(nivel_escolarizacao)
## [1] "character"

Funciones De Factores.

se utilizan para convertir un vector en un factor, establecer un orden específico para los niveles del factor y consultar la documentación de ayuda relacionada con los factores en R.

nivel_escolarizacao <- factor(nivel_escolarizacao)

class(nivel_escolarizacao)
## [1] "factor"
nivel_escolarizacao
## [1] fundamental medio       pregrado   
## Levels: fundamental medio pregrado
# Nivel de factor():

nivel_escolarizacao <- factor(nivel_escolarizacao,
                              levels = c("medio",
                                         "fundamental",
                                         "pregrado"))
?factor

Creacion De Vectores Y Representacion De Serie De Datos.

estos datos proporcionan información variada sobre empresas, incluyendo nombres, número de empleados, su presencia en la bolsa de valores, la ubicación de la sede y los nombres de los directores ejecutivos, con algunos valores faltantes en ciertas categorías

empresas <- c("Empresa A", NA, "Empresa C", "Empresa D", "Empresa E")
funcionarios <- c(100, 5000, 230, 12000, 1700)
presenca_bolsa <- c(F,T,NA,T,TRUE)
sede_brasil <- c(NA,0,1,0,0)
diretor_executivo <- c(NA,"daniel","carlos","carla","solange")

Número De Elementos.

estos códigos proporcionan la cantidad de elementos en cada uno de los vectores de datos proporcionados.

length(empresas)
## [1] 5
length(funcionarios)
## [1] 5
length(presenca_bolsa)
## [1] 5
length(sede_brasil)
## [1] 5
length(diretor_executivo)
## [1] 5

Número De Elementos 2.

estos códigos crean un “data frame” a partir de varios vectores y permiten visualizar sus datos en R.

datos <- data.frame(empresas, funcionarios, presenca_bolsa, 
                    sede_brasil, diretor_executivo)

datos
##    empresas funcionarios presenca_bolsa sede_brasil diretor_executivo
## 1 Empresa A          100          FALSE          NA              <NA>
## 2      <NA>         5000           TRUE           0            daniel
## 3 Empresa C          230             NA           1            carlos
## 4 Empresa D        12000           TRUE           0             carla
## 5 Empresa E         1700           TRUE           0           solange
View(datos)

Base De Datos.

help(package = "datasets")

Cargar La Base De Datos Orange.

estos códigos cargan y muestran un conjunto de datos llamado “Orange”, que contiene información sobre el crecimiento de las naranjas en diferentes situaciones.

data(Orange)

Orange
##    Tree  age circumference
## 1     1  118            30
## 2     1  484            58
## 3     1  664            87
## 4     1 1004           115
## 5     1 1231           120
## 6     1 1372           142
## 7     1 1582           145
## 8     2  118            33
## 9     2  484            69
## 10    2  664           111
## 11    2 1004           156
## 12    2 1231           172
## 13    2 1372           203
## 14    2 1582           203
## 15    3  118            30
## 16    3  484            51
## 17    3  664            75
## 18    3 1004           108
## 19    3 1231           115
## 20    3 1372           139
## 21    3 1582           140
## 22    4  118            32
## 23    4  484            62
## 24    4  664           112
## 25    4 1004           167
## 26    4 1231           179
## 27    4 1372           209
## 28    4 1582           214
## 29    5  118            30
## 30    5  484            49
## 31    5  664            81
## 32    5 1004           125
## 33    5 1231           142
## 34    5 1372           174
## 35    5 1582           177

Mostrar Las Primeras Y Ultimas Filas De La Base De Datos.

Estos comandos son útiles para obtener una vista previa rápida de los datos al principio y al final del conjunto de datos.

head(Orange)
##   Tree  age circumference
## 1    1  118            30
## 2    1  484            58
## 3    1  664            87
## 4    1 1004           115
## 5    1 1231           120
## 6    1 1372           142
tail(Orange)
##    Tree  age circumference
## 30    5  484            49
## 31    5  664            81
## 32    5 1004           125
## 33    5 1231           142
## 34    5 1372           174
## 35    5 1582           177

Estructura De La Base De Datos.

proporciona una visión general de la estructura y contenido del conjunto de datos “Orange”, lo que facilita la comprensión de la información que contiene.

str(Orange)
## Classes 'nfnGroupedData', 'nfGroupedData', 'groupedData' and 'data.frame':   35 obs. of  3 variables:
##  $ Tree         : Ord.factor w/ 5 levels "3"<"1"<"5"<"2"<..: 2 2 2 2 2 2 2 4 4 4 ...
##  $ age          : num  118 484 664 1004 1231 ...
##  $ circumference: num  30 58 87 115 120 142 145 33 69 111 ...
##  - attr(*, "formula")=Class 'formula'  language circumference ~ age | Tree
##   .. ..- attr(*, ".Environment")=<environment: R_EmptyEnv> 
##  - attr(*, "labels")=List of 2
##   ..$ x: chr "Time since December 31, 1968"
##   ..$ y: chr "Trunk circumference"
##  - attr(*, "units")=List of 2
##   ..$ x: chr "(days)"
##   ..$ y: chr "(mm)"

Número De Filas.

Estos comandos son útiles para obtener información básica sobre la estructura del conjunto de datos, como su tamaño y la cantidad de variables y observaciones que contiene.

nrow(Orange)
## [1] 35
ncol(Orange)
## [1] 3
dim(Orange)
## [1] 35  3

Nombres De Las Columnas.

Este comando es útil para conocer los nombres de las variables y acceder a datos específicos en el conjunto de datos utilizando esos nombres.

names(Orange)
## [1] "Tree"          "age"           "circumference"

Acceder A Variables Específicas.

Al usar la notación $, puedes seleccionar columnas específicas de un marco de datos en R, lo que te permite realizar análisis operaciones y específicas en esas columnas de datos.

Orange$age
##  [1]  118  484  664 1004 1231 1372 1582  118  484  664 1004 1231 1372 1582  118
## [16]  484  664 1004 1231 1372 1582  118  484  664 1004 1231 1372 1582  118  484
## [31]  664 1004 1231 1372 1582
Orange$circumference
##  [1]  30  58  87 115 120 142 145  33  69 111 156 172 203 203  30  51  75 108 115
## [20] 139 140  32  62 112 167 179 209 214  30  49  81 125 142 174 177

Otra Forma De Acceder A Las Variables.

Estos comandos te permiten extraer información específica de un conjunto de datos en función de las filas y columnas

Orange[, "age"]
##  [1]  118  484  664 1004 1231 1372 1582  118  484  664 1004 1231 1372 1582  118
## [16]  484  664 1004 1231 1372 1582  118  484  664 1004 1231 1372 1582  118  484
## [31]  664 1004 1231 1372 1582
Orange[2, ]
##   Tree age circumference
## 2    1 484            58
Orange[2, 2]
## [1] 484

Usar La Función attach Y detach.

Estos códigos en R se utilizan para adjuntar (attach) y luego desajuntar (detach) un conjunto de datos, lo que afecta la forma en que puedes acceder a las columnas de datos en ese conjunto

attach(Orange)
age
##  [1]  118  484  664 1004 1231 1372 1582  118  484  664 1004 1231 1372 1582  118
## [16]  484  664 1004 1231 1372 1582  118  484  664 1004 1231 1372 1582  118  484
## [31]  664 1004 1231 1372 1582
detach(Orange)

Acceder a observaciones específicas.

Estos códigos en R se utilizan para acceder a datos específicos en el conjunto de datos “Orange” mediante la especificación de filas y columnas

Orange[1, ]
##   Tree age circumference
## 1    1 118            30
Orange[2, 1]
## [1] 1
## Levels: 3 < 1 < 5 < 2 < 4
Orange[4, 5]
## NULL
Orange[1, "age"]
## [1] 118

Acceder a varias columnas.

Este código en R se utiliza para seleccionar columnas específicas del conjunto de datos “Orange” y crear un nuevo subconjunto de datos que contiene solo esas columnas

Orange[, c("age", "circumference")]
##     age circumference
## 1   118            30
## 2   484            58
## 3   664            87
## 4  1004           115
## 5  1231           120
## 6  1372           142
## 7  1582           145
## 8   118            33
## 9   484            69
## 10  664           111
## 11 1004           156
## 12 1231           172
## 13 1372           203
## 14 1582           203
## 15  118            30
## 16  484            51
## 17  664            75
## 18 1004           108
## 19 1231           115
## 20 1372           139
## 21 1582           140
## 22  118            32
## 23  484            62
## 24  664           112
## 25 1004           167
## 26 1231           179
## 27 1372           209
## 28 1582           214
## 29  118            30
## 30  484            49
## 31  664            81
## 32 1004           125
## 33 1231           142
## 34 1372           174
## 35 1582           177

Otra forma de seleccionar columnaS.

Este código en R se utiliza para crear un nuevo subconjunto de datos a partir del conjunto de datos “Orange”, excluyendo las columnas 4 y 5

Orange[, -c(4:5)]
##    Tree  age circumference
## 1     1  118            30
## 2     1  484            58
## 3     1  664            87
## 4     1 1004           115
## 5     1 1231           120
## 6     1 1372           142
## 7     1 1582           145
## 8     2  118            33
## 9     2  484            69
## 10    2  664           111
## 11    2 1004           156
## 12    2 1231           172
## 13    2 1372           203
## 14    2 1582           203
## 15    3  118            30
## 16    3  484            51
## 17    3  664            75
## 18    3 1004           108
## 19    3 1231           115
## 20    3 1372           139
## 21    3 1582           140
## 22    4  118            32
## 23    4  484            62
## 24    4  664           112
## 25    4 1004           167
## 26    4 1231           179
## 27    4 1372           209
## 28    4 1582           214
## 29    5  118            30
## 30    5  484            49
## 31    5  664            81
## 32    5 1004           125
## 33    5 1231           142
## 34    5 1372           174
## 35    5 1582           177

Usar la función which para filtrar datos.

se utilizan para filtrar filas específicas en el conjunto de datos “Orange”

Orange[which(Orange$age > 120), ]
##    Tree  age circumference
## 2     1  484            58
## 3     1  664            87
## 4     1 1004           115
## 5     1 1231           120
## 6     1 1372           142
## 7     1 1582           145
## 9     2  484            69
## 10    2  664           111
## 11    2 1004           156
## 12    2 1231           172
## 13    2 1372           203
## 14    2 1582           203
## 16    3  484            51
## 17    3  664            75
## 18    3 1004           108
## 19    3 1231           115
## 20    3 1372           139
## 21    3 1582           140
## 23    4  484            62
## 24    4  664           112
## 25    4 1004           167
## 26    4 1231           179
## 27    4 1372           209
## 28    4 1582           214
## 30    5  484            49
## 31    5  664            81
## 32    5 1004           125
## 33    5 1231           142
## 34    5 1372           174
## 35    5 1582           177
Orange[which(Orange$circumference < 85), ]
##    Tree age circumference
## 1     1 118            30
## 2     1 484            58
## 8     2 118            33
## 9     2 484            69
## 15    3 118            30
## 16    3 484            51
## 17    3 664            75
## 22    4 118            32
## 23    4 484            62
## 29    5 118            30
## 30    5 484            49
## 31    5 664            81
Orange[which(Orange$age > 100 & Orange$circumference < 85), ]
##    Tree age circumference
## 1     1 118            30
## 2     1 484            58
## 8     2 118            33
## 9     2 484            69
## 15    3 118            30
## 16    3 484            51
## 17    3 664            75
## 22    4 118            32
## 23    4 484            62
## 29    5 118            30
## 30    5 484            49
## 31    5 664            81

Editar variables.

se utilizan para crear una nueva variable llamada “new_var” en el conjunto de datos “Orange” y asignar valores a esta nueva variable

Orange$new_var <- NA
head(Orange)
##   Tree  age circumference new_var
## 1    1  118            30      NA
## 2    1  484            58      NA
## 3    1  664            87      NA
## 4    1 1004           115      NA
## 5    1 1231           120      NA
## 6    1 1372           142      NA
Orange[1, "new_var"] <- 82
head(Orange)
##   Tree  age circumference new_var
## 1    1  118            30      82
## 2    1  484            58      NA
## 3    1  664            87      NA
## 4    1 1004           115      NA
## 5    1 1231           120      NA
## 6    1 1372           142      NA