R Studio es un entorno de desarrollo integrado (IDE) diseñado específicamente para trabajar con el lenguaje de programación 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
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
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
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
se crea y muestra un vector que contiene tres nombres en R.
nomes <- c("mariana", "pedro", "daniela")
nomes
## [1] "mariana" "pedro" "daniela"
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")
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"
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"
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"
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"
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"
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
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")
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
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)
help(package = "datasets")
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
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
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)"
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
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"
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
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
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)
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
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
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
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
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