las operaciones basicas son suma. resta, multiplicación y divicón
#Comentario
a<-5
b<-8
suma<- a+b
resta<- a-b
multi<- a*b
divi<- a/b
mod<- a%%b
ptencia<- a^b
print(paste("La resta es",resta))
## [1] "La resta es -3"
print(paste("la suma es",suma))
## [1] "la suma es 13"
print(paste("la divicion es es",divi))
## [1] "la divicion es es 0.625"
print(paste("la multiplicación es",multi))
## [1] "la multiplicación es 40"
print(paste("el modulo es",mod))
## [1] "el modulo es 5"
print(paste("la potenciaa es",ptencia))
## [1] "la potenciaa es 390625"
AND, OR, NOT
log1<- TRUE
log2<-FALSE
AND<-log1&log2
OR<-log1 | log2
NOT<- !log1
NAND <- !AND
NOR <- !OR
print(paste("El operador AND es",AND))
## [1] "El operador AND es FALSE"
print(paste("El operador OR es",OR))
## [1] "El operador OR es TRUE"
print(paste("El operador NOT es",NOT))
## [1] "El operador NOT es FALSE"
print(paste("El operador NAND es",NAND))
## [1] "El operador NAND es TRUE"
print(paste("El operador NOR es",NOR))
## [1] "El operador NOR es FALSE"
Para saber el tipo de dato es
#class
class("a")
## [1] "character"
id, elseif, else
x<--4
if(x>0){
print("X es mayor que 0")
}else if (x<0){
print("X es menor que 0")
} else {
print("X es igual a cero")
}
## [1] "X es menor que 0"
for
nombre<-c("Galeano","Gasca","Oswaldo")
for (i in nombre) {
print(i)
}
## [1] "Galeano"
## [1] "Gasca"
## [1] "Oswaldo"
Impares
for (i in 0:10 ) {
if(i%%2){
print(i)
}
}
## [1] 1
## [1] 3
## [1] 5
## [1] 7
## [1] 9
While
i<-0
while (i<7) {
print(paste("El numero es",i))
i<-i+1
}
## [1] "El numero es 0"
## [1] "El numero es 1"
## [1] "El numero es 2"
## [1] "El numero es 3"
## [1] "El numero es 4"
## [1] "El numero es 5"
## [1] "El numero es 6"
##Funciones
evaluar<-function(x){
y<--4
if(y>0){
return("X es mayor que 0")
}else if (y<0){
return("X es menor que 0")
} else {
return("X es igual a cero")
}
}
evaluar(3)
## [1] "X es menor que 0"
Switch con funciones
objeto<-1
fun<- function(q,w,e){
if (e=='+') {
return(q+2)
}
if (e=='-') {
return(q-2)
}
if (e=='*') {
return(q*2)
}
if (e=='/') {
return(q/2)
}
}
switch (objeto,
"1" = fun(1,2,"+"),
"2"= fun(1,2,"-"),
"3" = fun(1,2,"*"),
"4" = fun(1,2,"/"),
"Default"
)
## [1] 3
##Tipos de Variables
Fecha <- as.Date("2024-12-12") #tipo fecha
Fecha_Hora<- as.POSIXct("2024-12-12 20:07:56") # tipo fecha hora
# vector c()
# factor factor()
#Matriz
num<-matrix(1:9,nrow = 3, ncol = 3, byrow = TRUE)
print(num)
## [,1] [,2] [,3]
## [1,] 1 2 3
## [2,] 4 5 6
## [3,] 7 8 9
print(num[1,2]) #Acceder a una poscicon especifica
## [1] 2
lista <- list(1,"A",2, num)
print(lista)
## [[1]]
## [1] 1
##
## [[2]]
## [1] "A"
##
## [[3]]
## [1] 2
##
## [[4]]
## [,1] [,2] [,3]
## [1,] 1 2 3
## [2,] 4 5 6
## [3,] 7 8 9
df<- data.frame(Nombre=c("Villalaba","Gasca"),Edad=c(22,23), Ciudad=c("Cali","Cali"), stringsAsFactors = FALSE)
# para instalar install.packages()
library(dslabs)
data("movielens")
head(movielens)
## movieId title year
## 1 31 Dangerous Minds 1995
## 2 1029 Dumbo 1941
## 3 1061 Sleepers 1996
## 4 1129 Escape from New York 1981
## 5 1172 Cinema Paradiso (Nuovo cinema Paradiso) 1989
## 6 1263 Deer Hunter, The 1978
## genres userId rating timestamp
## 1 Drama 1 2.5 1260759144
## 2 Animation|Children|Drama|Musical 1 3.0 1260759179
## 3 Thriller 1 3.0 1260759182
## 4 Action|Adventure|Sci-Fi|Thriller 1 2.0 1260759185
## 5 Drama 1 4.0 1260759205
## 6 Drama|War 1 2.0 1260759151
#vector_logico<-is.na(movielens$year)
#movielens$year[!vector_logico]
##TABLA SIN FECHAS NA
MovielensSinNa <- movielens[!is.na(movielens$year),]
totalPeliculas <- length(movielens$movieId)
peliculasSinNa <- length(MovielensSinNa$movieId)
diferenciaPeliculas <- peliculasSinNa - totalPeliculas
cat("Hay", abs(diferenciaPeliculas), "películas con datos nulos\n")
## Hay 7 películas con datos nulos
## Identificar las películas con calificaciones más bajas
calificacionPromedio <- 3.544
peoresPeliculas <- MovielensSinNa[MovielensSinNa$rating < calificacionPromedio,]
cat("De un total de", totalPeliculas, "películas,", length(peoresPeliculas$movieId), "tienen una calificación por debajo del promedio de 3.544\n")
## De un total de 100004 películas, 48433 tienen una calificación por debajo del promedio de 3.544