Instalar paquetes y llamar librerias

# install.packages("tidyverse") # Paquete para manipulacion de datos
library(tidyverse)
x <- 3
y <- 2

Imprimir el resultado

# Imprimir el resultado
x
## [1] 3
y
## [1] 2

Operaciones arimeticas

# Operaciones arimeticas
suma <- x + y
suma
## [1] 5
resta <- x - y
resta
## [1] 1
multiplicacion <- x * y
multiplicacion
## [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
potencia_2 <- x ^ 2
potencia_2
## [1] 9
otra_raiz <- x ** (1/3)
otra_raiz  
## [1] 1.44225

funcion

# funcion 
raiz_cuadrada <- sqrt(x)
raiz_cuadrada
## [1] 1.732051
# ?sqrt # El signo de interrogacion es para desplegar ayuda

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 <-(x/y)
truncar
## [1] 1.5

Constantes

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

Vectores

# Vectores
a <- c(1:5) # Secuencia de enteros 1:5 = (1,2,3,4,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
#longitud <- lenght(a)
#longitud

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

# Tablas
tabla_de_calificaciones <- data.frame(nombres, calificaciones)
tabla_de_calificaciones$estatus <- ifelse(tabla_de_calificaciones$calificaciones>=70, "Aprobado","Reprobado")
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

Condicionales

# Condicionales: Iguales ==, Desigual !=, Mayor que >, Menor que <
# Mayor o igual que >=, Menor o igual que <=

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) # 6 por default
##   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) # ultimos
##   nombres calificaciones   estatus
## 1    Juan            100  Aprobado
## 2     Ana             90  Aprobado
## 3   Pedro             50 Reprobado
## 4   Carla            100  Aprobado
## 5    Sara             65 Reprobado

Instalar paquetes y llamar librerias

# Instalar paquetes y llamar librerias
# install.packages("tidyverse") # Paquete para manipulacion de datos
library(tidyverse)

SELECT

# SELECT para seleccionar columnas
resultados <- select(tabla_de_calificaciones, -c(nombres))

FILTER

# FILTER para filtrar renglones
resultados <- filter(resultados, estatus=="Aprobado")

Actividad 1.

# Actividad 1. Calcular 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

# Tabla
Tabla_1 <- data.frame(alumno, peso, altura)
Tabla_1$IMC <- Tabla_1$peso/(altura**2)
Tabla_1$Status <- ifelse(Tabla_1$IMC < 18.5, "Peso insufiente", 
                         ifelse(Tabla_1$IMC<=24.9, "Normopeso", 
                                ifelse(Tabla_1$IMC<=29.9, "Sobrepeso",  
                                       ifelse(Tabla_1$IMC<=35.9, "Obesidad tipo I", 
                                             "Obesidad tipo II"))))
Tabla_1
##   alumno peso altura       IMC           Status
## 1   Raul   78   1.80  24.07407        Normopeso
## 2 Renata   52   1.55  21.64412        Normopeso
## 3   Juan   78   1.75  25.46939        Sobrepeso
## 4 Sergio   90   1.86  26.01457        Sobrepeso
## 5   Meme  560   1.80 172.83951 Obesidad tipo II

Graficas

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

data_ventas <- data.frame(Semana, Ventas)
regresion <- lm(Ventas ~ Semana, data=data_ventas) 
summary(regresion)
## 
## Call:
## lm(formula = Ventas ~ Semana, data = data_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

Conclusiones

#**R** es un lenguaje de programacion util para realizar para realizar calculos, principalmente estadisticos y forma parte de las herramientas del *Big Data*
  
#*RStudio* es el entorno donde se puede probar *R* y gracias a que aca tambien se puede ´programar *python*, hace unos años se anuncian que su nombre sera *posit*
  
#En esta introduccion lo que llama la atencion es la constante aparicion de alertas o errores en el programa, los cuales encontramos que principalemnte se deben a que la version no es la mas reciente a la falta de instalacion de muchos paquetes o llamar a las librerias, problemas de escritura (*typos*) y los muchos argumentos que tienen las funciones.
LS0tDQp0aXRsZTogIkNvbWFuZG9zIGJhc2ljb3MiDQphdXRob3I6ICJFZHVhcmRvIEEwMDgzODc1MiINCmRhdGU6ICIyMDI1LTAzLTE4Ig0Kb3V0cHV0OiANCiAgaHRtbF9kb2N1bWVudDoNCiAgICB0b2M6IFRSVUUNCiAgICB0b2NfZmxvYXQ6IFRSVUUNCiAgICBjb2RlX2Rvd25sb2FkOiBUUlVFDQogICAgdGhlbWU6ICJjb3NtbyINCi0tLQ0KDQohW10oaHR0cHM6Ly9jLnRlbm9yLmNvbS8yR2xaY2ZWQ2NkOEFBQUFkL29iZXNpZGFkLmdpZikNCg0KDQojIEluc3RhbGFyIHBhcXVldGVzIHkgbGxhbWFyIGxpYnJlcmlhcw0KYGBge3IgbWVzc2FnZT1GQUxTRSwgd2FybmluZz1GQUxTRX0NCiMgaW5zdGFsbC5wYWNrYWdlcygidGlkeXZlcnNlIikgIyBQYXF1ZXRlIHBhcmEgbWFuaXB1bGFjaW9uIGRlIGRhdG9zDQpsaWJyYXJ5KHRpZHl2ZXJzZSkNCg0KYGBgDQpgYGB7cn0NCnggPC0gMw0KeSA8LSAyDQpgYGANCiMgSW1wcmltaXIgZWwgcmVzdWx0YWRvDQpgYGB7cn0NCiMgSW1wcmltaXIgZWwgcmVzdWx0YWRvDQp4DQp5DQpgYGANCiMgT3BlcmFjaW9uZXMgYXJpbWV0aWNhcw0KYGBge3J9DQojIE9wZXJhY2lvbmVzIGFyaW1ldGljYXMNCnN1bWEgPC0geCArIHkNCnN1bWENCg0KcmVzdGEgPC0geCAtIHkNCnJlc3RhDQoNCm11bHRpcGxpY2FjaW9uIDwtIHggKiB5DQptdWx0aXBsaWNhY2lvbg0KDQpkaXZpc2lvbiA8LSB4IC8geQ0KZGl2aXNpb24NCg0KZGl2aXNpb25fZW50ZXJhIDwtIHggJS8lIHkNCmRpdmlzaW9uX2VudGVyYQ0KDQpyZXNpZHVvIDwtIHggJSUgeSANCnJlc2lkdW8NCg0KcG90ZW5jaWEgPC0geCAqKiAyDQpwb3RlbmNpYQ0KDQpwb3RlbmNpYV8yIDwtIHggXiAyDQpwb3RlbmNpYV8yDQoNCm90cmFfcmFpeiA8LSB4ICoqICgxLzMpDQpvdHJhX3JhaXogIA0KYGBgDQojIGZ1bmNpb24NCmBgYHtyfQ0KIyBmdW5jaW9uIA0KcmFpel9jdWFkcmFkYSA8LSBzcXJ0KHgpDQpyYWl6X2N1YWRyYWRhDQpgYGANCg0KYGBge3J9DQojID9zcXJ0ICMgRWwgc2lnbm8gZGUgaW50ZXJyb2dhY2lvbiBlcyBwYXJhIGRlc3BsZWdhciBheXVkYQ0KDQpleHBvbmVuY2lhbCA8LSBleHAoMSkNCmV4cG9uZW5jaWFsDQoNCmFic29sdXRvIDwtIGFicyh4KQ0KYWJzb2x1dG8NCg0Kc2lnbm8gPC0gc2lnbih4KQ0Kc2lnbm8NCg0KcmVkb25kZW9fYXJyaWJhIDwtIGNlaWxpbmcoeC95KQ0KcmVkb25kZW9fYXJyaWJhDQoNCnJlZG9uZGVvX2FiYWpvIDwtIGZsb29yKHgveSkNCnJlZG9uZGVvX2FiYWpvDQoNCnRydW5jYXIgPC0oeC95KQ0KdHJ1bmNhcg0KYGBgDQojIENvbnN0YW50ZXMNCmBgYHtyfQ0KIyBDb25zdGFudGVzDQpwaQ0KcmFkaW8gPC0gNQ0KYXJlYV9jaXJjdWxvIDwtIHBpKnJhZGlvKioyDQphcmVhX2NpcmN1bG8NCmBgYA0KIyBWZWN0b3Jlcw0KYGBge3J9DQojIFZlY3RvcmVzDQphIDwtIGMoMTo1KSAjIFNlY3VlbmNpYSBkZSBlbnRlcm9zIDE6NSA9ICgxLDIsMyw0LDUpDQphDQoNCmIgPC0gc2VxKDEsMTAsIGJ5ID0gMC41KQ0KYg0KDQpub21icmVzIDwtIGMoIkp1YW4iLCAiQW5hIiwgIlBlZHJvIiwgIkNhcmxhIiwgIlNhcmEiKQ0Kbm9tYnJlcw0KDQpjYWxpZmljYWNpb25lcyA8LSBjKDEwMCw5MCw1MCwxMDAsNjUpDQpjYWxpZmljYWNpb25lcw0KDQojbG9uZ2l0dWQgPC0gbGVuZ2h0KGEpDQojbG9uZ2l0dWQNCg0KcHJvbWVkaW8gPC0gbWVhbihjYWxpZmljYWNpb25lcykNCnByb21lZGlvDQoNCm9yZGVuX2FzY2VuZGVudGUgPC0gc29ydChjYWxpZmljYWNpb25lcykNCm9yZGVuX2FzY2VuZGVudGUNCg0Kb3JkZW5fZGVzY2VuZGVudGUgPC0gc29ydChjYWxpZmljYWNpb25lcywgZGVjcmVhc2luZyA9IFRSVUUpDQpvcmRlbl9kZXNjZW5kZW50ZQ0KYGBgDQojIFRhYmxhcw0KYGBge3J9DQojIFRhYmxhcw0KdGFibGFfZGVfY2FsaWZpY2FjaW9uZXMgPC0gZGF0YS5mcmFtZShub21icmVzLCBjYWxpZmljYWNpb25lcykNCnRhYmxhX2RlX2NhbGlmaWNhY2lvbmVzJGVzdGF0dXMgPC0gaWZlbHNlKHRhYmxhX2RlX2NhbGlmaWNhY2lvbmVzJGNhbGlmaWNhY2lvbmVzPj03MCwgIkFwcm9iYWRvIiwiUmVwcm9iYWRvIikNCnRhYmxhX2RlX2NhbGlmaWNhY2lvbmVzDQpgYGANCiMgQ29uZGljaW9uYWxlcw0KYGBge3J9DQojIENvbmRpY2lvbmFsZXM6IElndWFsZXMgPT0sIERlc2lndWFsICE9LCBNYXlvciBxdWUgPiwgTWVub3IgcXVlIDwNCiMgTWF5b3IgbyBpZ3VhbCBxdWUgPj0sIE1lbm9yIG8gaWd1YWwgcXVlIDw9DQoNCnN1bW1hcnkodGFibGFfZGVfY2FsaWZpY2FjaW9uZXMpDQpzdHIodGFibGFfZGVfY2FsaWZpY2FjaW9uZXMpDQpoZWFkKHRhYmxhX2RlX2NhbGlmaWNhY2lvbmVzKSAjIDYgcG9yIGRlZmF1bHQNCnRhaWwodGFibGFfZGVfY2FsaWZpY2FjaW9uZXMpICMgdWx0aW1vcw0KYGBgDQojIEluc3RhbGFyIHBhcXVldGVzIHkgbGxhbWFyIGxpYnJlcmlhcw0KYGBge3J9DQojIEluc3RhbGFyIHBhcXVldGVzIHkgbGxhbWFyIGxpYnJlcmlhcw0KIyBpbnN0YWxsLnBhY2thZ2VzKCJ0aWR5dmVyc2UiKSAjIFBhcXVldGUgcGFyYSBtYW5pcHVsYWNpb24gZGUgZGF0b3MNCmxpYnJhcnkodGlkeXZlcnNlKQ0KYGBgDQojIFNFTEVDVA0KYGBge3J9DQojIFNFTEVDVCBwYXJhIHNlbGVjY2lvbmFyIGNvbHVtbmFzDQpyZXN1bHRhZG9zIDwtIHNlbGVjdCh0YWJsYV9kZV9jYWxpZmljYWNpb25lcywgLWMobm9tYnJlcykpDQpgYGANCiMgRklMVEVSDQpgYGB7cn0NCiMgRklMVEVSIHBhcmEgZmlsdHJhciByZW5nbG9uZXMNCnJlc3VsdGFkb3MgPC0gZmlsdGVyKHJlc3VsdGFkb3MsIGVzdGF0dXM9PSJBcHJvYmFkbyIpDQpgYGANCiMgQWN0aXZpZGFkIDEuDQpgYGB7cn0NCiMgQWN0aXZpZGFkIDEuIENhbGN1bGFyIElNQw0KYWx1bW5vIDwtIGMoIlJhdWwiLCAiUmVuYXRhIiwgIkp1YW4iLCAiU2VyZ2lvIiwgIk1lbWUiKQ0KcGVzbyA8LSBjKDc4LCA1MiwgNzgsIDkwLCA1NjApDQphbHR1cmEgPC0gYygxLjgwLCAxLjU1LCAxLjc1LCAxLjg2LCAxLjgwKQ0KYGBgDQojIFRhYmxhDQpgYGB7cn0NCiMgVGFibGENClRhYmxhXzEgPC0gZGF0YS5mcmFtZShhbHVtbm8sIHBlc28sIGFsdHVyYSkNClRhYmxhXzEkSU1DIDwtIFRhYmxhXzEkcGVzby8oYWx0dXJhKioyKQ0KVGFibGFfMSRTdGF0dXMgPC0gaWZlbHNlKFRhYmxhXzEkSU1DIDwgMTguNSwgIlBlc28gaW5zdWZpZW50ZSIsIA0KICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShUYWJsYV8xJElNQzw9MjQuOSwgIk5vcm1vcGVzbyIsIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoVGFibGFfMSRJTUM8PTI5LjksICJTb2JyZXBlc28iLCAgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoVGFibGFfMSRJTUM8PTM1LjksICJPYmVzaWRhZCB0aXBvIEkiLCANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJPYmVzaWRhZCB0aXBvIElJIikpKSkNClRhYmxhXzENCmBgYA0KIyBHcmFmaWNhcw0KYGBge3J9DQojIEdyYWZpY2FzDQpTZW1hbmEgPC0gYygxOjEwKQ0KVmVudGFzIDwtIGMoMTUwLCAxNjAsIDE2NSwgMTgwLCAxNzUsIDE5MCwgMjAwLCAxOTUsIDIxMCwgMjIwKQ0KcGxvdChTZW1hbmEsVmVudGFzLCB0eXBlID0gImIiLCBtYWluPSAiVmVudGFzIHNlbWFuYWxlcyAoSyBVU0QpIikNCmRhdGFfdmVudGFzIDwtIGRhdGEuZnJhbWUoU2VtYW5hLCBWZW50YXMpDQpyZWdyZXNpb24gPC0gbG0oVmVudGFzIH4gU2VtYW5hLCBkYXRhPWRhdGFfdmVudGFzKSANCnN1bW1hcnkocmVncmVzaW9uKQ0KZGF0b3NfbnVldm9zIDwtIGRhdGEuZnJhbWUoU2VtYW5hPTExOjIwKQ0KcHJlZGljY2lvbiA8LSBwcmVkaWN0KHJlZ3Jlc2lvbiwgZGF0b3NfbnVldm9zKQ0KcHJlZGljY2lvbg0KYGBgDQojIENvbmNsdXNpb25lcw0KYGBge3J9DQojKipSKiogZXMgdW4gbGVuZ3VhamUgZGUgcHJvZ3JhbWFjaW9uIHV0aWwgcGFyYSByZWFsaXphciBwYXJhIHJlYWxpemFyIGNhbGN1bG9zLCBwcmluY2lwYWxtZW50ZSBlc3RhZGlzdGljb3MgeSBmb3JtYSBwYXJ0ZSBkZSBsYXMgaGVycmFtaWVudGFzIGRlbCAqQmlnIERhdGEqDQogIA0KIypSU3R1ZGlvKiBlcyBlbCBlbnRvcm5vIGRvbmRlIHNlIHB1ZWRlIHByb2JhciAqUiogeSBncmFjaWFzIGEgcXVlIGFjYSB0YW1iaWVuIHNlIHB1ZWRlIMK0cHJvZ3JhbWFyICpweXRob24qLCBoYWNlIHVub3MgYcOxb3Mgc2UgYW51bmNpYW4gcXVlIHN1IG5vbWJyZSBzZXJhICpwb3NpdCoNCiAgDQojRW4gZXN0YSBpbnRyb2R1Y2Npb24gbG8gcXVlIGxsYW1hIGxhIGF0ZW5jaW9uIGVzIGxhIGNvbnN0YW50ZSBhcGFyaWNpb24gZGUgYWxlcnRhcyBvIGVycm9yZXMgZW4gZWwgcHJvZ3JhbWEsIGxvcyBjdWFsZXMgZW5jb250cmFtb3MgcXVlIHByaW5jaXBhbGVtbnRlIHNlIGRlYmVuIGEgcXVlIGxhIHZlcnNpb24gbm8gZXMgbGEgbWFzIHJlY2llbnRlIGEgbGEgZmFsdGEgZGUgaW5zdGFsYWNpb24gZGUgbXVjaG9zIHBhcXVldGVzIG8gbGxhbWFyIGEgbGFzIGxpYnJlcmlhcywgcHJvYmxlbWFzIGRlIGVzY3JpdHVyYSAoKnR5cG9zKikgeSBsb3MgbXVjaG9zIGFyZ3VtZW50b3MgcXVlIHRpZW5lbiBsYXMgZnVuY2lvbmVzLg0KYGBgDQoNCg==