# Instalar paquetes y llamar librerias

#install.packages("tidyverse")  #Paquetes para manipulación 
library(tidyverse) 
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.1.4     ✔ readr     2.1.5
## ✔ forcats   1.0.0     ✔ stringr   1.5.1
## ✔ ggplot2   3.5.1     ✔ tibble    3.2.1
## ✔ lubridate 1.9.4     ✔ tidyr     1.3.1
## ✔ purrr     1.0.4     
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors

Asignar variable

x <- 3  
y <- 2

Imprimir el resultado

x
## [1] 3
y
## [1] 2

#Operaciones aritmeticas

suma <- x + y 
suma
## [1] 5
resta <- x - y 
resta
## [1] 1
multiplicación <- x * y 
multiplicación 
## [1] 6
division <- x/y 
division
## [1] 1.5
division_entera <- x %/% y 
division_entera
## [1] 1
residuo <- x %% y 
residuo
## [1] 1
potencia <- x ** 2 
potencia
## [1] 9
potenciay <- y ** 2 
potenciay
## [1] 4

Funciones

raiz_cuadrada <- sqrt(x) 
raiz_cuadrada
## [1] 1.732051
raiz_cubica <- x ** (1/3) 
raiz_cubica
## [1] 1.44225
?sqrt

exponencial <- exp(1) 
exponencial
## [1] 2.718282
absoluto <- abs(x) 
absoluto
## [1] 3
signo <- sign(x)  
signo
## [1] 1
redondeo_arriba <- ceiling (x/y) 
redondeo_arriba
## [1] 2
redondeo_abajo <- floor(x/y)
redondeo_abajo
## [1] 1
truncar <- trunc(x/y)
truncar
## [1] 1

Constantes

pi
## [1] 3.141593
radio <- 5 
area_circulo <- pi*radio**2 
area_circulo 
## [1] 78.53982

vectores

a <- c(1:5) 
a 
## [1] 1 2 3 4 5
b <- seq(1,10, by = 0.5) 
b
##  [1]  1.0  1.5  2.0  2.5  3.0  3.5  4.0  4.5  5.0  5.5  6.0  6.5  7.0  7.5  8.0
## [16]  8.5  9.0  9.5 10.0
nombres <- c("Juan", "Ana", "Pedro", "Carla", "Sara") 
nombres
## [1] "Juan"  "Ana"   "Pedro" "Carla" "Sara"
calificaciones <- c(100,90,50,100,65) 
calificaciones 
## [1] 100  90  50 100  65

Otras cosas

longitud <- length(a)
longitud
## [1] 5
promedio <- mean(calificaciones)
promedio
## [1] 81
orden_ascendente <- sort(calificaciones)
orden_ascendente
## [1]  50  65  90 100 100
orden_descendente <- sort(calificaciones, decreasing = TRUE)
orden_descendente
## [1] 100 100  90  65  50

Tablas

tabla_de_calificaciones <- data.frame(nombres,calificaciones) 
tabla_de_calificaciones$estatus <- ifelse(tabla_de_calificaciones$calificaciones >= 70, "Aprobado","Reprobado") 

condicionales_ Igual ==, Desigual !=

summary(tabla_de_calificaciones) 
##    nombres          calificaciones   estatus         
##  Length:5           Min.   : 50    Length:5          
##  Class :character   1st Qu.: 65    Class :character  
##  Mode  :character   Median : 90    Mode  :character  
##                     Mean   : 81                      
##                     3rd Qu.:100                      
##                     Max.   :100
str(tabla_de_calificaciones)
## 'data.frame':    5 obs. of  3 variables:
##  $ nombres       : chr  "Juan" "Ana" "Pedro" "Carla" ...
##  $ calificaciones: num  100 90 50 100 65
##  $ estatus       : chr  "Aprobado" "Aprobado" "Reprobado" "Aprobado" ...
head(tabla_de_calificaciones) 
##   nombres calificaciones   estatus
## 1    Juan            100  Aprobado
## 2     Ana             90  Aprobado
## 3   Pedro             50 Reprobado
## 4   Carla            100  Aprobado
## 5    Sara             65 Reprobado
tail(tabla_de_calificaciones) 
##   nombres calificaciones   estatus
## 1    Juan            100  Aprobado
## 2     Ana             90  Aprobado
## 3   Pedro             50 Reprobado
## 4   Carla            100  Aprobado
## 5    Sara             65 Reprobado

Select para selccionar columnas

resultados <- select(tabla_de_calificaciones, -c(nombres)) 

filter para filtrar renglones

resultados <- filter(resultados, estatus == "Aprobado") 

Actividad 1. Calculadora del IMC

alumno <- c("Raul", "Renata", "Juan", "Sergio", "Meme") 
peso <- c(78, 52, 78, 90, 560) 
altura <- c(1.80, 1.55, 1.75, 1.86, 1.80) 

tabla_de_imc <- data.frame(alumno,peso,altura)   
tabla_de_imc$IMC <- tabla_de_imc$peso / tabla_de_imc$altura**2 

tabla_de_imc$resultado <- ifelse(tabla_de_imc$IMC < 18.5, "Bajo Peso", ifelse(tabla_de_imc$IMC <= 24.9, "Peso Normal", ifelse(tabla_de_imc$IMC <= 29.9, "Sobrepeso", "obesidad")))

Grafica

semana <- c(1:10)
ventas <- c(150,160,165,180,175,190,200,195,210,220)
plot(semana, ventas, type= "l", main= "Ventas semanales (K USD)") 

datos_ventas <- data.frame(semana, ventas)
regresion <- lm(ventas ~ semana, data=datos_ventas)
summary(regresion)
## 
## Call:
## lm(formula = ventas ~ semana, data = datos_ventas)
## 
## Residuals:
##    Min     1Q Median     3Q    Max 
## -7.758 -1.538  0.500  2.439  6.455 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 144.3333     3.1714   45.51 6.00e-11 ***
## semana        7.3030     0.5111   14.29 5.61e-07 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 4.643 on 8 degrees of freedom
## Multiple R-squared:  0.9623, Adjusted R-squared:  0.9576 
## F-statistic: 204.2 on 1 and 8 DF,  p-value: 5.614e-07
datos_nuevos <- data.frame(semana=11:20)
prediccion <- predict(regresion, datos_nuevos)
prediccion 
##        1        2        3        4        5        6        7        8 
## 224.6667 231.9697 239.2727 246.5758 253.8788 261.1818 268.4848 275.7879 
##        9       10 
## 283.0909 290.3939

Conclusión

A través de ejemplos prácticos, se demuestra cómo realizar operaciones aritméticas, aplicar funciones estadísticas y utilizar condicionales para analizar y transformar datos.

Además, la actividad de cálculo del Índice de Masa Corporal (IMC) y la representación gráfica de las ventas semanales ilustran la capacidad de R para manejar datos de manera eficiente y visualizarlos de forma clara. La implementación de regresiones lineales refuerza el análisis predictivo, mostrando su utilidad en la toma de decisiones basadas en datos.

En general, este programa ofrece una base sólida para el uso de R en análisis de datos y estadística, proporcionando herramientas clave para la exploración y modelado de información en diversos contextos.

LS0tCnRpdGxlOiAiQ09NQU5ET1MgQkFTSUNPUyIKYXV0aG9yOiAiUmVuYXRhIENvdXRpw7FvIEEwMTE3NDY2NCIKZGF0ZTogIjIwMjUtMDMtMTgiCm91dHB1dDogCiBodG1sX2RvY3VtZW50OgogICB0b2M6IFRSVUUKICAgdG9jX2Zsb2F0OiBUUlVFCiAgIGNvZGVfZG93bmxvYWQ6IFRSVUUKICAgdGhlbWU6ICJsdW1lbiIKLS0tCgohW10oaHR0cHM6Ly9pLmdpZmVyLmNvbS9vcmlnaW4vN2EvN2FkMTNmZTNhMzQ4ODg5MzVmMzZiNzBmNGJlNzIxNTNfdzIwMC5naWYpCiMgSW5zdGFsYXIgcGFxdWV0ZXMgeSBsbGFtYXIgbGlicmVyaWFzCmBgYHtyfQojaW5zdGFsbC5wYWNrYWdlcygidGlkeXZlcnNlIikgICNQYXF1ZXRlcyBwYXJhIG1hbmlwdWxhY2nDs24gCmxpYnJhcnkodGlkeXZlcnNlKSAKYGBgCgojIEFzaWduYXIgdmFyaWFibGUKYGBge3J9CnggPC0gMyAgCnkgPC0gMgpgYGAKIyBJbXByaW1pciBlbCByZXN1bHRhZG8KCmBgYHtyfQp4CnkKYGBgCiNPcGVyYWNpb25lcyBhcml0bWV0aWNhcwoKYGBge3J9CnN1bWEgPC0geCArIHkgCnN1bWEKCnJlc3RhIDwtIHggLSB5IApyZXN0YQoKbXVsdGlwbGljYWNpw7NuIDwtIHggKiB5IAptdWx0aXBsaWNhY2nDs24gCgpkaXZpc2lvbiA8LSB4L3kgCmRpdmlzaW9uCgpkaXZpc2lvbl9lbnRlcmEgPC0geCAlLyUgeSAKZGl2aXNpb25fZW50ZXJhCgpyZXNpZHVvIDwtIHggJSUgeSAKcmVzaWR1bwoKcG90ZW5jaWEgPC0geCAqKiAyIApwb3RlbmNpYQoKcG90ZW5jaWF5IDwtIHkgKiogMiAKcG90ZW5jaWF5CmBgYAojIEZ1bmNpb25lcwoKYGBge3J9CnJhaXpfY3VhZHJhZGEgPC0gc3FydCh4KSAKcmFpel9jdWFkcmFkYQoKcmFpel9jdWJpY2EgPC0geCAqKiAoMS8zKSAKcmFpel9jdWJpY2EKCj9zcXJ0CgpleHBvbmVuY2lhbCA8LSBleHAoMSkgCmV4cG9uZW5jaWFsCgphYnNvbHV0byA8LSBhYnMoeCkgCmFic29sdXRvCgpzaWdubyA8LSBzaWduKHgpICAKc2lnbm8KCnJlZG9uZGVvX2FycmliYSA8LSBjZWlsaW5nICh4L3kpIApyZWRvbmRlb19hcnJpYmEKCnJlZG9uZGVvX2FiYWpvIDwtIGZsb29yKHgveSkKcmVkb25kZW9fYWJham8KCnRydW5jYXIgPC0gdHJ1bmMoeC95KQp0cnVuY2FyCgpgYGAKIyBDb25zdGFudGVzCgpgYGB7cn0KcGkKcmFkaW8gPC0gNSAKYXJlYV9jaXJjdWxvIDwtIHBpKnJhZGlvKioyIAphcmVhX2NpcmN1bG8gCmBgYAojIHZlY3RvcmVzCgpgYGB7cn0KYSA8LSBjKDE6NSkgCmEgCgpiIDwtIHNlcSgxLDEwLCBieSA9IDAuNSkgCmIKCm5vbWJyZXMgPC0gYygiSnVhbiIsICJBbmEiLCAiUGVkcm8iLCAiQ2FybGEiLCAiU2FyYSIpIApub21icmVzCgpjYWxpZmljYWNpb25lcyA8LSBjKDEwMCw5MCw1MCwxMDAsNjUpIApjYWxpZmljYWNpb25lcyAKYGBgCiMgT3RyYXMgY29zYXMKCmBgYHtyfQpsb25naXR1ZCA8LSBsZW5ndGgoYSkKbG9uZ2l0dWQKCnByb21lZGlvIDwtIG1lYW4oY2FsaWZpY2FjaW9uZXMpCnByb21lZGlvCgpvcmRlbl9hc2NlbmRlbnRlIDwtIHNvcnQoY2FsaWZpY2FjaW9uZXMpCm9yZGVuX2FzY2VuZGVudGUKCm9yZGVuX2Rlc2NlbmRlbnRlIDwtIHNvcnQoY2FsaWZpY2FjaW9uZXMsIGRlY3JlYXNpbmcgPSBUUlVFKQpvcmRlbl9kZXNjZW5kZW50ZQpgYGAKIyBUYWJsYXMKCmBgYHtyfQp0YWJsYV9kZV9jYWxpZmljYWNpb25lcyA8LSBkYXRhLmZyYW1lKG5vbWJyZXMsY2FsaWZpY2FjaW9uZXMpIAp0YWJsYV9kZV9jYWxpZmljYWNpb25lcyRlc3RhdHVzIDwtIGlmZWxzZSh0YWJsYV9kZV9jYWxpZmljYWNpb25lcyRjYWxpZmljYWNpb25lcyA+PSA3MCwgIkFwcm9iYWRvIiwiUmVwcm9iYWRvIikgCmBgYAojIGNvbmRpY2lvbmFsZXNfIElndWFsID09LCBEZXNpZ3VhbCAhPQoKYGBge3J9CnN1bW1hcnkodGFibGFfZGVfY2FsaWZpY2FjaW9uZXMpIApzdHIodGFibGFfZGVfY2FsaWZpY2FjaW9uZXMpCmhlYWQodGFibGFfZGVfY2FsaWZpY2FjaW9uZXMpIAp0YWlsKHRhYmxhX2RlX2NhbGlmaWNhY2lvbmVzKSAKYGBgCiMgU2VsZWN0IHBhcmEgc2VsY2Npb25hciBjb2x1bW5hcwoKYGBge3J9CnJlc3VsdGFkb3MgPC0gc2VsZWN0KHRhYmxhX2RlX2NhbGlmaWNhY2lvbmVzLCAtYyhub21icmVzKSkgCmBgYAojIGZpbHRlciBwYXJhIGZpbHRyYXIgcmVuZ2xvbmVzCgpgYGB7cn0KcmVzdWx0YWRvcyA8LSBmaWx0ZXIocmVzdWx0YWRvcywgZXN0YXR1cyA9PSAiQXByb2JhZG8iKSAKYGBgCiMgQWN0aXZpZGFkIDEuIENhbGN1bGFkb3JhIGRlbCBJTUMKCmBgYHtyfQphbHVtbm8gPC0gYygiUmF1bCIsICJSZW5hdGEiLCAiSnVhbiIsICJTZXJnaW8iLCAiTWVtZSIpIApwZXNvIDwtIGMoNzgsIDUyLCA3OCwgOTAsIDU2MCkgCmFsdHVyYSA8LSBjKDEuODAsIDEuNTUsIDEuNzUsIDEuODYsIDEuODApIAoKdGFibGFfZGVfaW1jIDwtIGRhdGEuZnJhbWUoYWx1bW5vLHBlc28sYWx0dXJhKSAgIAp0YWJsYV9kZV9pbWMkSU1DIDwtIHRhYmxhX2RlX2ltYyRwZXNvIC8gdGFibGFfZGVfaW1jJGFsdHVyYSoqMiAKCnRhYmxhX2RlX2ltYyRyZXN1bHRhZG8gPC0gaWZlbHNlKHRhYmxhX2RlX2ltYyRJTUMgPCAxOC41LCAiQmFqbyBQZXNvIiwgaWZlbHNlKHRhYmxhX2RlX2ltYyRJTUMgPD0gMjQuOSwgIlBlc28gTm9ybWFsIiwgaWZlbHNlKHRhYmxhX2RlX2ltYyRJTUMgPD0gMjkuOSwgIlNvYnJlcGVzbyIsICJvYmVzaWRhZCIpKSkKYGBgCiMgR3JhZmljYQoKYGBge3J9CnNlbWFuYSA8LSBjKDE6MTApCnZlbnRhcyA8LSBjKDE1MCwxNjAsMTY1LDE4MCwxNzUsMTkwLDIwMCwxOTUsMjEwLDIyMCkKcGxvdChzZW1hbmEsIHZlbnRhcywgdHlwZT0gImwiLCBtYWluPSAiVmVudGFzIHNlbWFuYWxlcyAoSyBVU0QpIikgCmRhdG9zX3ZlbnRhcyA8LSBkYXRhLmZyYW1lKHNlbWFuYSwgdmVudGFzKQpyZWdyZXNpb24gPC0gbG0odmVudGFzIH4gc2VtYW5hLCBkYXRhPWRhdG9zX3ZlbnRhcykKc3VtbWFyeShyZWdyZXNpb24pCmRhdG9zX251ZXZvcyA8LSBkYXRhLmZyYW1lKHNlbWFuYT0xMToyMCkKcHJlZGljY2lvbiA8LSBwcmVkaWN0KHJlZ3Jlc2lvbiwgZGF0b3NfbnVldm9zKQpwcmVkaWNjaW9uIApgYGAKCiMjIENvbmNsdXNpw7NuCkEgdHJhdsOpcyBkZSBlamVtcGxvcyBwcsOhY3RpY29zLCBzZSBkZW11ZXN0cmEgY8OzbW8gcmVhbGl6YXIgb3BlcmFjaW9uZXMgYXJpdG3DqXRpY2FzLCBhcGxpY2FyIGZ1bmNpb25lcyBlc3RhZMOtc3RpY2FzIHkgdXRpbGl6YXIgY29uZGljaW9uYWxlcyBwYXJhIGFuYWxpemFyIHkgdHJhbnNmb3JtYXIgZGF0b3MuCgpBZGVtw6FzLCBsYSBhY3RpdmlkYWQgZGUgY8OhbGN1bG8gZGVsIMONbmRpY2UgZGUgTWFzYSBDb3Jwb3JhbCAoSU1DKSB5IGxhIHJlcHJlc2VudGFjacOzbiBncsOhZmljYSBkZSBsYXMgdmVudGFzIHNlbWFuYWxlcyBpbHVzdHJhbiBsYSBjYXBhY2lkYWQgZGUgUiBwYXJhIG1hbmVqYXIgZGF0b3MgZGUgbWFuZXJhIGVmaWNpZW50ZSB5IHZpc3VhbGl6YXJsb3MgZGUgZm9ybWEgY2xhcmEuIExhIGltcGxlbWVudGFjacOzbiBkZSByZWdyZXNpb25lcyBsaW5lYWxlcyByZWZ1ZXJ6YSBlbCBhbsOhbGlzaXMgcHJlZGljdGl2bywgbW9zdHJhbmRvIHN1IHV0aWxpZGFkIGVuIGxhIHRvbWEgZGUgZGVjaXNpb25lcyBiYXNhZGFzIGVuIGRhdG9zLgoKRW4gZ2VuZXJhbCwgZXN0ZSBwcm9ncmFtYSBvZnJlY2UgdW5hIGJhc2Ugc8OzbGlkYSBwYXJhIGVsIHVzbyBkZSBSIGVuIGFuw6FsaXNpcyBkZSBkYXRvcyB5IGVzdGFkw61zdGljYSwgcHJvcG9yY2lvbmFuZG8gaGVycmFtaWVudGFzIGNsYXZlIHBhcmEgbGEgZXhwbG9yYWNpw7NuIHkgbW9kZWxhZG8gZGUgaW5mb3JtYWNpw7NuIGVuIGRpdmVyc29zIGNvbnRleHRvcy4=