R puede funcionar como una calculadora.
Tenemos operadores que nos permiten realizar determinados calculos o
tareas.
Operadores aritmeticos
10+5
## [1] 15
10-5
## [1] 5
10*5
## [1] 50
10/5
## [1] 2
10^3
## [1] 1000
10%%3
## [1] 1
sqrt(64)
## [1] 8
exp(1)
## [1] 2.718282
log(10)
## [1] 2.302585
cos(pi)
## [1] -1
Operadores Relacionales
x<y
, es menor que
x<=y
, es menor o igual que
y>x
, es mayor que
y>=x
, es mayor o igual que
x==x
, es igual que
x!=y
, no es igual que
Operadores Logicos
x | y
, x o y x & y
, x e y
!x
, no es x
isTRUE(x)
, es x
Crear secuencias
1:10
## [1] 1 2 3 4 5 6 7 8 9 10
seq(1,4,by=0.5)
## [1] 1.0 1.5 2.0 2.5 3.0 3.5 4.0
rep(1:5, 2)
## [1] 1 2 3 4 5 1 2 3 4 5
c(1,2)
## [1] 1 2
rep(3, 5)
## [1] 3 3 3 3 3
Importar archivo. En este caso, importaremos nuestra
base de datos en formato excel.
Trabajamos con la base de datos del Siseve.
library("readxl") #abre archivos en excel
setwd("C:/Users/user/Documents/Trabajo/Docencia/UNMSM CCPP Estadistica/Laboratorios/LABs UNMSM/Laboratorio1") #el directorio donde se encuentra mi archivo
siseve <- read_excel("Siseve2023.xlsx") # debo colocar el nombre de la base de datos tal como se encuentra guardado
Hay muchos comandos que me permiten explorar una base de datos, tales
como:
dim()
, ncol()
, nrow()
, detalla
dimension de la matriz o base
dimnames()
, colnames()
,
rownames()
, names()
, detalla nombres de las
variables, columnas o filas
mode()
, length()
, is.matrix()
,
print()
,head()
, tail()
,
class()
, View()
, brinda una idea de la
estructura de la base
Los comandos que mas uso para explorar una base de datos son:
names(siseve) # brinda el nombre de las variables
## [1] "fecha" "dre" "nivel" "tiporeporte"
## [5] "tipoviolencia" "frecuencia"
head(siseve) # brinda una idea de la estructura de la base (10 primeros casos)
## # A tibble: 6 x 6
## fecha dre nivel tiporeporte tipoviolencia frecuencia
## <dttm> <chr> <chr> <chr> <chr> <chr>
## 1 2023-08-31 00:00:00 DRE Arequipa Secu~ Personal I~ Sexual De seis v~
## 2 2023-08-31 00:00:00 DRE Lima Metro~ Secu~ Entre Esco~ Psicológica De cuatro~
## 3 2023-08-31 00:00:00 DRE Arequipa Secu~ Personal I~ Sexual De dos a ~
## 4 2023-08-31 00:00:00 DRE Arequipa Secu~ Personal I~ Sexual De dos a ~
## 5 2023-08-31 00:00:00 DRE Arequipa Secu~ Personal I~ Sexual De seis v~
## 6 2023-08-31 00:00:00 DRE Arequipa Secu~ Personal I~ Sexual De seis v~
str(siseve) # brinda una idea de la estructura de la base (tipos de variables, etc.)
## tibble [63,595 x 6] (S3: tbl_df/tbl/data.frame)
## $ fecha : POSIXct[1:63595], format: "2023-08-31" "2023-08-31" ...
## $ dre : chr [1:63595] "DRE Arequipa" "DRE Lima Metropolitana" "DRE Arequipa" "DRE Arequipa" ...
## $ nivel : chr [1:63595] "Secundaria" "Secundaria" "Secundaria" "Secundaria" ...
## $ tiporeporte : chr [1:63595] "Personal IE a Escolares" "Entre Escolares" "Personal IE a Escolares" "Personal IE a Escolares" ...
## $ tipoviolencia: chr [1:63595] "Sexual" "Psicológica" "Sexual" "Sexual" ...
## $ frecuencia : chr [1:63595] "De seis veces a mas" "De cuatro a cinco veces" "De dos a tres veces" "De dos a tres veces" ...
summary(siseve) #brinda un resumen de las variables de la base
## fecha dre nivel
## Min. :2013-09-16 00:00:00 Length:63595 Length:63595
## 1st Qu.:2017-11-24 00:00:00 Class :character Class :character
## Median :2019-07-17 00:00:00 Mode :character Mode :character
## Mean :2019-12-02 12:52:24
## 3rd Qu.:2022-09-23 00:00:00
## Max. :2023-08-31 00:00:00
## tiporeporte tipoviolencia frecuencia
## Length:63595 Length:63595 Length:63595
## Class :character Class :character Class :character
## Mode :character Mode :character Mode :character
##
##
##
is.null(siseve) #brinda si hay variables vacias
## [1] FALSE
Podemos conocer el tipo de datos que hay en una base
de datos is.integer()
, es integral
is.numeric()
, es numerica
is.character()
, es de texto (categorica)
is.factor()
, es factor (ordinal)
is.logical()
, es logica (verdadero/falso)
is.null()
, esta vacia
Podemos conocer el tipo de variable
class(siseve$fecha)
## [1] "POSIXct" "POSIXt"
class(siseve$dre)
## [1] "character"
class(siseve$nivel)
## [1] "character"
class(siseve$tiporeporte)
## [1] "character"
class(siseve$tipoviolencia)
## [1] "character"
class(siseve$frecuencia)
## [1] "character"
Algunas veces, los tipos de variables asignados en las bases de datos
pueden no sernos utiles (ej. las fechas pueden estar en formato de
numerico, pero lo queremos en formato fecha)
Para definir el tipo de variable se coloca as.type()
as.integer()
, convertir a integral
as.numeric()
, convertir a numerica
as.character()
, convertir a texto (categorica)
as.factor()
, convertir a factor (ordinal)
as.logical()
, convertir a logica (verdadero/falso)
as.null()
, convertir a vacia
as.Date()
, convertir a fecha
as.data.frame()
, convertir a dataframe
Con los datos del Siseve, realiza: 3 operaciones relacionales, 3 operaciones logicas y convierte la variable “frecuencia” a factor.