INTRODUCCION DESCRIPCION DE LA TA REA 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] 1.08883490 0.61208741 0.76257361 0.09223591 -0.63317895 0.40401243
## [7] 1.51006564 0.01079399 -1.28745754 1.89072005 -0.65131902 0.16701960
## [13] 1.06197713 0.85926320 1.15487081 -1.30563365 0.85634672 -2.16374284
## [19] -2.15387983 0.01990636 0.71913666 0.67502658 -0.79987965 1.65644474
## [25] -0.11846848 0.70898054 -0.11656566 -0.62756284 0.15705676 1.19540714
## [31] 0.14478884 -0.03114115 0.10540391 0.79364142 1.09480897 1.72282285
## [37] -0.10214418 -1.85646307 -1.17068363 1.46032201 0.77943418 -0.90334071
## [43] -0.56498762 0.81178325 -0.03272996 0.04213856 -0.35252284 1.22868600
## [49] 2.36403329 0.55646950 1.06995199 1.02866838 -2.58582448 1.95176190
## [55] -1.54466396 -0.59828963 -0.70647481 0.51869838 -0.13139531 2.52283328
## [61] -0.12282343 -1.81831198 0.25074514 0.36898874 -1.25525931 -1.54157010
## [67] 0.75484563 -0.01166427 0.83765325 -0.95899598 -1.38625204 -1.33458529
## [73] 0.16049810 -1.72699181 0.31522589 0.59411691 0.82482855 1.85203927
## [79] 1.06541885 1.52384039 0.78707648 0.21266797 0.41497303 -0.05830598
## [85] -0.59240577 -0.51908865 -2.53171776 0.85852701 -0.34506755 -0.78841356
## [91] -0.65745297 0.44841625 -1.19856857 0.71015457 -0.88963609 0.66020289
## [97] 1.35003540 1.59919198 1.23233724 -0.79761168 -0.22614573
View(e)
x<-seq(0, 50, by = 0.5)
x
## [1] 0.0 0.5 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
## [16] 7.5 8.0 8.5 9.0 9.5 10.0 10.5 11.0 11.5 12.0 12.5 13.0 13.5 14.0 14.5
## [31] 15.0 15.5 16.0 16.5 17.0 17.5 18.0 18.5 19.0 19.5 20.0 20.5 21.0 21.5 22.0
## [46] 22.5 23.0 23.5 24.0 24.5 25.0 25.5 26.0 26.5 27.0 27.5 28.0 28.5 29.0 29.5
## [61] 30.0 30.5 31.0 31.5 32.0 32.5 33.0 33.5 34.0 34.5 35.0 35.5 36.0 36.5 37.0
## [76] 37.5 38.0 38.5 39.0 39.5 40.0 40.5 41.0 41.5 42.0 42.5 43.0 43.5 44.0 44.5
## [91] 45.0 45.5 46.0 46.5 47.0 47.5 48.0 48.5 49.0 49.5 50.0
a<--10
b<-0.3
y el vector a + b * xy<- a + b * x
y
## [1] -10.00 -9.85 -9.70 -9.55 -9.40 -9.25 -9.10 -8.95 -8.80 -8.65
## [11] -8.50 -8.35 -8.20 -8.05 -7.90 -7.75 -7.60 -7.45 -7.30 -7.15
## [21] -7.00 -6.85 -6.70 -6.55 -6.40 -6.25 -6.10 -5.95 -5.80 -5.65
## [31] -5.50 -5.35 -5.20 -5.05 -4.90 -4.75 -4.60 -4.45 -4.30 -4.15
## [41] -4.00 -3.85 -3.70 -3.55 -3.40 -3.25 -3.10 -2.95 -2.80 -2.65
## [51] -2.50 -2.35 -2.20 -2.05 -1.90 -1.75 -1.60 -1.45 -1.30 -1.15
## [61] -1.00 -0.85 -0.70 -0.55 -0.40 -0.25 -0.10 0.05 0.20 0.35
## [71] 0.50 0.65 0.80 0.95 1.10 1.25 1.40 1.55 1.70 1.85
## [81] 2.00 2.15 2.30 2.45 2.60 2.75 2.90 3.05 3.20 3.35
## [91] 3.50 3.65 3.80 3.95 4.10 4.25 4.40 4.55 4.70 4.85
## [101] 5.00
y ~ x con la función
lm() y asígnalo a una # variable llamada “modelo”modelo<-lm(y ~ x)
modelo
##
## Call:
## lm(formula = y ~ x)
##
## Coefficients:
## (Intercept) x
## -10.0 0.3
y ~ x usando la función plot.plot(modelo,col="blue")
9. Extrae los valores estimados usando la función
coef.
coef(modelo)
## (Intercept) x
## -10.0 0.3
\(ACTIVIDAD\).
ser carga base de datos cars tambien se instala el paquete ggplot2 para realizar las graficas 1. Datos y gráfico base, siguiente especificar x y y , donde x=hp y y = mpg. funcion aes para la citas de variables , citamos Sistema de coordenadas (cartesiano con proporción fija)
## 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) +
## speed, dist
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.
\(mtcars\): mostraras los base de datos
Se hace la grafica de area de la variable wt como se muestra la grafica
, se defune g_base para realizar la grafica.
## 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`.
\[grafica\] de \[ Densidad\] Ahora bien, si queremos
representar gráficamente la curva de densidad de nuestros datos, tenemos
que seguir la siguiente ruta con la variable wt, en la grfica se puede
ver la curva que es la densidad
## Densidad
g_base + geom_density(kernel = "gaussian",col="blue")+
theme(panel.grid = element_line(color = "#8ccde3",
size = 0.75,
linetype = 2))
\[Graficos de puntos\]
de la variable wt
# 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`.
\[Grafica de una variable wt\], este grafica es muy similar de la grfica anterior la densidad, solo en esta ocasion no esta en forma de relleno,sino sombreada.
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`.
\(grafica\) de \(barras\)
representar datos continuos. Este tipo de gráfico es similar a un diagrama de barras, pero que representa las frecuencias
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\), es grafico Q-Q. un gráfico QQ normal de los valores en y. qqline agrega una línea a un gráfico cuantil-cuantil “teórico”, por defecto normal, que pasa por los cuantiles probs, por defecto el primer y tercer cuartil. qqplot produce un gráfico QQ de dos conjuntos de datos.
ggplot(mtcars, aes(sample = mpg)) + geom_qq(col="red")+
theme(panel.grid = element_line(color = "#8ccde3",
size = 0.75,
linetype = 2))
Grafico de Histograma de conteos y pesos.x=pesos y y=conteos
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 aes(cyl, mpg)
f <- ggplot(
data = transform(mtcars, cyl = as.factor(cyl)),
aes(cyl, mpg))
f ## Base
HISTOGRAMA Se realiza graficas de Histograma entre mpg y cyl en donde
x=cyl y y= mpg
f + geom_col(fill = 4) +
theme(panel.grid = element_line(color = "#8ccde3",
size = 0.75,
linetype = 2))
Graficas de Cajas Los box plots, también conocidos como diagramas de
cajas y bigotes, son una representación gráfica que permite resumir las
características principales de los datos (posición, dispersión,
asimetría, …) Grafica entre las variables mpg y cyl en donde x = cyl y y
= mpg
f + geom_boxplot(fill = "dodgerblue1") +
theme(panel.grid = element_line(color = "#8ccde3",
size = 0.75,
linetype = 2))
## Boxplot
Graficos de Puntos. se hace la grafica de puntos con x = cyl, y = mpg.
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
Diagrama de Violín se utiliza para visualizar la distribución de los datos y su densidad de probabilidad. En este ocasion se hace esa grafica con respecto x = cyl y y = mpg.
f + geom_violin(scale = "area",col="red")+
theme(panel.grid = element_line(color = "#8ccde3",
size = 0.75,
linetype = 2))
## Violín
Se hace la grafica de CAJA, con las siguientes variables x= cilindro y y= MPG.
f +
geom_boxplot(fill = "hotpink", color = "gray90") +
labs(x = "Cilindros", y = "MPG") +
coord_flip() +
theme_dark()
rm(f)
Dos Variables: Continua - Continua las variable sson hp-mpg, donde x=hp , y=mpg
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
Graficas de Etiquetas, en esta grafica se puede ver los nombres de los datos de las variables igual las variable x=hp y y = mpg
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)
Graficas de Q-Q presentan las variables Discretas. cy1 y am , A continuacion se hace su grafica para saber la relacion
## 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)