Operaciones Aritméticas

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"

Operadores logicos

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"

Estructuras de control

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

Tipos de estrucuras de Datos

# 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)

Paqueres

# 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