INTRODUCCION DESCRIPCION DE LA TEREA SE VA DESCRIBIR CADA CODIGO CON SU RESPECTIVA SOLUCION QUE SE PRESENTA
1.CARACTER , por lo regular caracter se define a una palabra o letra, en Rstudio para definir un caracter se asigna un valor , la que queremos asignar por ejemplo x1, x2 asignamos un caracter.
x1 <- "Hola"
2.Numéricos (real or decimal), esta parte asignamos un valor en numeros ya sea decimales u irracionales.
pi -> x2
3.Enteros en esta parte los valores se asignan en numeros enteros sin excepcion decimales .
x3 = 3L
4.Lógicos:los operadores lógicos siempre devuelven TRUE o FALSE. Para realizar operaciones lógicas, todos los valores numéricos y complejos distintos a 0 son coercionados a TRUE, mientras que 0 siempre es coercionado a FALSE.
x4 <- TRUE
5.Complejos : para asignar numeros complejos en Rstudio asignamos el nombre de la variable , despues asignamos los numeros complejos diferenciarlo entre entero y imaginario, vemos en el siguiente ejemplo. 3 es parte real y 4.5i es parte imaginario.
assign("x5", 3 + 4.5i)
IMPRIMIR, es donde las variables se imprime conforme definimos las variables, vemos los ejemplos de anteriores X1,x2,x3,x4,Caracter, numerico, Entero, Logico, Complejos. vemos el ejemplo x1,x2,x3,x4,x5
print(x1)
## [1] "Hola"
print(x2)
## [1] 3.141593
print(x3)
## [1] 3
print(x4)
## [1] TRUE
print(x5)
## [1] 3+4.5i
Mode nos ayuda a revisar el tipo de variables u carecteres que estamos utilizando vemos los sguientes ,revisar el tipo x1,x2,x3,x4,x5 con moden. asi como muestra lo siguiente
# Revisar tipo
mode(x1)
## [1] "character"
mode(x2)
## [1] "numeric"
mode(x3)
## [1] "numeric"
mode(x4)
## [1] "logical"
mode(x5)
## [1] "complex"
rm nos ayudar eliminar las variables que se definio, para eliminar las variables anterios unicamente se deve hacer asi como el siguiente , eliminamos las variables x1,x2,x3,x4,x5
## Eliminar objetos
rm(x1, x2, x3, x4, x5)
Volores en este podemos definir variables que quisieramos ya se en palabra o caracter, a continuacion tenemos ejemplos scomo se define un valor. definimos los siguiente
# Valores
y1 <- pi
Si queremos crear vectores en R, utilizamos la función c(). En este caso, la c es de «combinar» (combinar uno o más valores o elementos). Lo más común, es que los vectores sean de tipo numérico, carácter o lógico, aA continuacion se presenta algunos ejemplos y2 presenta un vector en forma numerico y3 presenta un vector en forma de caracter u letra y4 presenta un vector en forma de logico
# Vectores
y2 <- c(1, 2, 3)
y3 <- c("a", "b", "c")
y4 <- c(TRUE, FALSE, NA)
Creamos matrices en R con la función matrix(). La función matrix() acepta dos argumentos, nrow=renglones y ncol=columnas. Con ellos especificamos el número de renglones y columnas que tendrá nuestra matriz.por ota parte la función c(). En este caso, la c es de «combinar» (combinar uno o más valores o elementos).de finimos y5 a la matriz 2x2 con los siguientes datos 7,8,9,0
# Matrices
y5 <- matrix(c(7, 8, 9, 0), nrow = 2, ncol = 2)
data.frame es Para unir los datos,puedes tener diferentes tipos de datos dentro de las columnas. a continuacion vemso el siguiente ejemplo v1=y2, que enteriormente y2 son vectores numericos v2=y3, que anteriormente y3 son vectores caracteres v3=vectores caracteres. v4=y4, que anteriormente y4 son vectores logicos
# Cuadros de datos
y6 <- data.frame(
v1 = y2,
v2 = y3,
v3 = c("A", "B", "C"),
v4 = y4
)
crear la lista ,definimos y7 a las lista y1,y2,y3,y4,y5,y6,y9 ,despues creamos otra lista , lo definimos con aa los numericos (1,2) y bb caracter “hola”
# Listas
y7 <- list(
y1, y2, y3, y4, y5, y6, y9 = list(aa = c(1, 2), bb = "Hola")
)
Teniendo esos valores y1,y2,y3,y4,y5,y6,y7 ahora solo para imprir lo separamos con”;“.
## Imprimir valores
y1; y2; y3; y4; y5; y6; y7
## [1] 3.141593
## [1] 1 2 3
## [1] "a" "b" "c"
## [1] TRUE FALSE NA
## [,1] [,2]
## [1,] 7 9
## [2,] 8 0
## [[1]]
## [1] 3.141593
##
## [[2]]
## [1] 1 2 3
##
## [[3]]
## [1] "a" "b" "c"
##
## [[4]]
## [1] TRUE FALSE NA
##
## [[5]]
## [,1] [,2]
## [1,] 7 9
## [2,] 8 0
##
## [[6]]
## v1 v2 v3 v4
## 1 1 a A TRUE
## 2 2 b B FALSE
## 3 3 c C NA
##
## $y9
## $y9$aa
## [1] 1 2
##
## $y9$bb
## [1] "Hola"
despues borrar las variables con la funcion rm
## Borrar valores
rm(y1, y2, y3, y4, y5, y6, y7)
Ahora definimos los siguientes valores y2 le asignamos a vectores con formados 3 caracteres igualando a numericos y5 le asignamos a un matriz de 2x2 con los numeros 7,8,9,0 y6 le asignamos a cuadro de datos con 2 variables igualando a y2 en posito y negativo y7 le asignamos a una lista de caracter a =y2,b=y5,c=y6
# Estructuras
y2 <- c(a = 1, b = 2, c = 3)
y5 <- matrix(c(7, 8, 9, 0), nrow = 2, ncol = 2)
y6 <- data.frame(v1 = y2, v2 = -y2)
y7 <- list(a = y2, b = y5, c = y6)
seguimos, imprimir y2[2]entonces solo resultado de segundo columna. imprimir y5[2, 2], en donde esta 2 columnas y 2 filas imprimir y6[3, 1] en donde esta fila 1 columa 3 imprimir y7[[3]] en donde esta columna 3 es igual a y6
y2[2]
## b
## 2
y5[2, 2]
## [1] 0
y6[3, 1]
## [1] 3
y7[[3]]
a continuacion por nombre y2[“b”] la variable que esta en b resultado y6\(v1[3] variable que esta en la columna 3 en v1 resultado y7\)c variables que esta en la columna c,son valores que son y6
## Por nombre
y2["b"]
## b
## 2
y6$v1[3]
## [1] 3
y7$c
a continuacion eliminar las variables , utilizando rm enseguida las variables que se desea y2,y5,y6,y7
## Borrar valores
rm(y2, y5, y6, y7)
Acontinuacion crear nuevos variables apartir de los variables sea vector 1,2,3
# Construir vectores ------------------------------------------------------
## c()
c(1, 2, 3)
## [1] 1 2 3
Enseguida se asigna los vectores anteriores1, 2,3 con nombre a,b,c
## Vector con nombres
c(a = 1, b = 2, c = 3)
## a b c
## 1 2 3
enseguida se usa dos puntos para incrementos unitarios, para no escribir numero por numero, asi como el siguiente ejemplo Secuencia hasta 1, 2 y 3
## Usando dos puntos para incrementos unitarios
1:3
## [1] 1 2 3
Se crea una Secuencia hasta 1, 2 y 3 de 0.5
## Secuencia definiendo incremento
seq(1, 3, by = 0.5)
## [1] 1.0 1.5 2.0 2.5 3.0
Se crea una Secuencia hasta 1, 2 y 3 con longitud de 9 elementos.
## Secuencia definiendo tamaño total
seq(1, 3, length.out = 9)
## [1] 1.00 1.25 1.50 1.75 2.00 2.25 2.50 2.75 3.00
repetiendo 2 veces de la Secuencia 0, 1 hasta 2
## Repitiendo valores
rep(0:2, each = 2)
## [1] 0 0 1 1 2 2
repetiendo valores especificando número de veces de 1 a 3 veces en 0 hasta 2
## Repitiendo valores especificando número de veces
rep(0:2, times = 1:3)
## [1] 0 1 1 2 2 2
FUNCIONES Evaluar los siguientes
# Funciones ---------------------------------------------------------------
## Evaluar en un solo elemento
cos(pi/4)
## [1] 0.7071068
A continuacion evaluar en un vector como muestra el siguiente vector
## Evaluar en un vector
cos(c(pi / 4, pi / 2))
## [1] 7.071068e-01 6.123032e-17
evaluar el siguiente matriz de 2x2 de secuencia de 1 a 4
## O en una matriz
cos(matrix(1:4, ncol = 2, nrow = 2))
## [,1] [,2]
## [1,] 0.5403023 -0.9899925
## [2,] -0.4161468 -0.6536436
# Ayuda -------------------------------------------------------------------
?cos
## starting httpd help server ... done
help("exp")
??tibble
Ejercicio Genera 101 valores de una normal con media 0 y desviación
estándar 3 y # guarda los valores en e
#Datos
n =101
media<-0
sd<-1
e <- rnorm(n, media, sd)
e
## [1] -2.40035789 -0.86417578 -0.32287660 -0.29926232 -0.58838672 1.56480472
## [7] 0.22650102 -0.78776555 0.51295626 -0.10433321 -0.60349546 1.35320063
## [13] -1.15817863 -0.79934732 -1.22718713 1.16723072 0.52096960 -1.12533746
## [19] -0.94921452 -0.74272854 -1.06129800 -0.60273877 0.65248994 0.25384374
## [25] 0.23480281 -2.02174233 0.35597778 -1.34761804 -0.51135471 0.36340084
## [31] -0.14483546 -1.02079609 -0.05571789 -0.38662785 0.12850079 0.01010799
## [37] -1.06216585 1.45485225 -2.64254849 -1.12872549 0.50112620 -0.84131245
## [43] 1.24364859 0.13968652 -0.18721447 1.98710265 1.53860035 0.95015535
## [49] 0.04616371 0.86511981 1.91125785 -0.19382394 0.36806737 -0.04436013
## [55] 1.28414068 -1.51987331 -0.11320514 -1.55835119 -1.58731218 0.93304620
## [61] 0.03176370 -0.21347262 0.24110990 -0.07296567 0.47413530 -0.66640680
## [67] 0.09541790 -0.85490454 -1.38002113 -1.04485112 -0.34912147 -0.60196508
## [73] 0.27647385 0.90806541 -2.19160622 -1.12303373 0.81621118 0.46187490
## [79] 1.97632533 0.14539323 -0.16676418 -0.25480512 0.36022222 -0.12468043
## [85] 1.02974332 -0.40482380 1.22741870 -1.74537499 1.29990380 0.93784985
## [91] 1.54668149 -1.14952227 -0.27388733 -0.62869322 -0.53618303 -0.39845790
## [97] 0.12474291 0.97653131 1.77480279 -0.60685507 -1.00095227
View(e)
x<-seq(0, 50, by = 5)
x
## [1] 0 5 10 15 20 25 30 35 40 45 50
a<--10
b<-0.3
y ~ x con la función
lm() y asígnalo a una # variable llamada “modelo”ser carga base de datos cars tambien se instala el paquete ggplot2 para realizar las graficas
## Datos
head(cars)
## Carga paquete
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.2.3
## Datos y gráfico base
ggplot(data = cars,aes(x = hp, y = mpg)) +
## Especificar x y y
aes(speed, dist) +
## Sistema de coordenadas (cartesiano con proporción fija)
coord_fixed(ratio = 1 / 12) +
## Geometría
geom_point() +
theme(panel.grid = element_line(color = "#8ccde3",
size = 0.75,
linetype = 2))
## Warning: The `size` argument of `element_line()` is deprecated as of ggplot2 3.4.0.
## ℹ Please use the `linewidth` argument instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
mtcar: mostraras los datos se asigna g_base para la graficas wt 2.
despues g_base + la variable geom_area para que mueestra el area 3.
Densidad con g_base + geom_density para definir la grafica Densidad.
## Una variable --------------------------------------------------------------
## Datos: mtcars
## Extraidos de la revista Motor Trend de 1974
View(mtcars)
g_base <- ggplot(mtcars, aes(wt),col="pink")
g_base
## Área
g_base + geom_area(stat = "bin",fill = rgb(0, 0.5, 1, alpha = 0.5)) +
theme(panel.grid = element_line(color = "#8ccde3",
size = 0.75,
linetype = 2))
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## Densidad
g_base + geom_density(kernel = "gaussian",col="blue")+
theme(panel.grid = element_line(color = "#8ccde3",
size = 0.75,
linetype = 2))
Graficos de punto entre G_base + Geomd
# Gráfico de puntos
g_base + geom_dotplot(color = "red", alpha = 0.4)+
theme(panel.grid = element_line(color = "#8ccde3",
size = 0.75,
linetype = 2))
## Bin width defaults to 1/30 of the range of the data. Pick better value with
## `binwidth`.
Frecuencia con polinomio
g_base + geom_freqpoly(col="red") +
theme(panel.grid = element_line(color = "#8ccde3",
size = 0.75,
linetype = 2))
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
Histograma de g_base y geom_histograma
g_base + geom_histogram(binwidth = 0.5,fill = 4)+
theme(panel.grid = element_line(color = "#8ccde3",
size = 0.75,
linetype = 2))
Gráfico cuantil-cuantil
ggplot(mtcars, aes(sample = mpg)) + geom_qq(col="red")+
theme(panel.grid = element_line(color = "#8ccde3",
size = 0.75,
linetype = 2))
g_base +
geom_histogram(binwidth = 0.5, fill = "lightblue") +
labs(x = "Peso (1000 lbs)", y = "Conteos") +
theme_bw()+
theme(panel.grid = element_line(color = "#8ccde3",
size = 0.75,
linetype = 2))
rm(g_base)
DOS VARIABLES DISCRETAS.
f <- ggplot(
data = transform(mtcars, cyl = as.factor(cyl)),
aes(cyl, mpg))
f ## Base
f + geom_col(fill = 4) +
theme(panel.grid = element_line(color = "#8ccde3",
size = 0.75,
linetype = 2))
f + geom_boxplot(fill = "dodgerblue1") +
theme(panel.grid = element_line(color = "#8ccde3",
size = 0.75,
linetype = 2))
## Boxplot
f + geom_dotplot(binaxis = "y", stackdir = "center",col="pink")+
theme(panel.grid = element_line(color = "#8ccde3",
size = 0.75,
linetype = 2))
## Bin width defaults to 1/30 of the range of the data. Pick better value with
## `binwidth`.
## Puntos
f + geom_violin(scale = "area",col="red")+
theme(panel.grid = element_line(color = "#8ccde3",
size = 0.75,
linetype = 2))
## Violín
f +
geom_boxplot(fill = "hotpink", color = "gray90") +
labs(x = "Cilindros", y = "MPG") +
coord_flip() +
theme_dark()
rm(f)
Dos Variables: Continua - Continua
e <- ggplot(
data = transform(mtcars,
car = row.names(mtcars)),
aes(hp, mpg))
e ## Base
e + geom_point(col="blue")+
theme(panel.grid = element_line(color = "#8ccde3",
size = 0.75,
linetype = 2))
# Puntos
e + geom_label(aes(label = car), nudge_x = 1, nudge_y = 1)+
theme(panel.grid = element_line(color = "#8ccde3",
size = 0.75,
linetype = 2))
# Etiquetas
e + geom_rug(sides = "bl")+
theme(panel.grid = element_line(color = "#8ccde3",
size = 0.75,
linetype = 2))
## ??
e + geom_smooth(method = lm) +
theme(panel.grid = element_line(color = "pink",
size = 0.75,
linetype = 2))
## `geom_smooth()` using formula = 'y ~ x'
e + geom_text(aes(label = car))+
theme(panel.grid = element_line(color = "red",
size = 0.75,
linetype = 2))
rm(e)
## Dos Variables: Discreta - Discreta --------------------------------------
g <- ggplot(
data = transform(mtcars, cyl = as.factor(cyl), am = as.factor(am)),
aes(cyl, am))
g + geom_count() ## Conteos
g + geom_jitter(height = 0.15, width = 0.15,col="red") +
theme(panel.grid = element_line(color = "blue",
size = 0.75,
linetype = 2))
## Agregando ruido
rm(g)