Aún no tienes acceso a esta clase

Crea una cuenta y continúa viendo este curso

Explorando datos simulados

21/37
Recursos

Aportes 11

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

con el shortcut

alt + -

pueden obtener

<-

El script de la clase

# Vamos a jugar con datos simulados. Escojan sus

# Distribucion normal estandar
y <- rnorm(100)
plot(density(y))

# Distribucion normal de media cinco y desviacion estandar 3
y <- rnorm(100,5,3)
plot(density(y))

# Distribucion uniforme 0,1
y <- runif(100)
plot(density(y))

# Distribucion uniforme a=3, b=8
y <- runif(100,3,8)
plot(density(y))

# Ejemplo de la edad y el lugar

data.frame(
  Edad = rnorm(50, 10, 1.2),
  Lugar = "Escuela"
) -> escuela

data.frame(
  Edad = rnorm(45, 15, 1.9),
  Lugar = "Preparatoria"
) -> prepa

data.frame(
  Edad = rnorm(80, 21, 2.5),
  Lugar = "Universidad"
) -> universidad

rbind(escuela, prepa, universidad) -> edad_lugar

boxplot(Edad ~ Lugar, data = edad_lugar)


# Modelo lineal

X <-seq(0, 3*pi, length.out = 100)
Y <- -0.3*X + 1 + rnorm(100,0,0.5)
Z <- -0.3*X + 1

data.frame(X,Y,Z) -> datos_lineal
plot(Y ~ X, data = datos_lineal )
lines(Z ~ X, data = datos_lineal, col = 2, lwd = 2)

# Modelo no lineal
X <-seq(0, 3*pi, length.out = 100)
Y <- cos(x) + rnorm(100,0,0.5)
Z <- cos(x)

data.frame(X,Y,Z) -> datos_no_lineal
plot(Y ~ X, data = datos_no_lineal )
lines(Z ~ X, data = datos_no_lineal, col = 2, lwd = 2)```

Comandos útiles en R para tener a la mano
link:https://sites.calvin.edu/scofield/courses/m143/materials/RcmdsFromClass.pdf

# Distribución normal estandar

Y <- rnorm(100)
plot(density(Y))


# Distribucion normal de media cino y desviacion 3

Y <- rnorm(100, 5, 3)
plot(density(Y))

#Distribucion uniforme 0 , 1

Y <- runif(100)
plot(density(Y))

#Distribucion uniforme 3 a 8

Y <- runif(100, 3, 8)
plot(density(Y))


# Ejemplo de la edad y el lugar

data.frame(
  Edad = rnorm(50, 10, 1.2),
  Lugar = 'Escuela'
) -> escuela

data.frame(
  Edad = rnorm(45, 15, 1.9),
  Lugar = 'Preparatoria'
) -> prepa

data.frame(
  Edad = rnorm(83, 21, 2.5),
  Lugar = 'Universidad'
) -> universidad

rbind(escuela, prepa, universidad) -> edad_lugar

boxplot(Edad ~ Lugar, edad_lugar)

# Modelo Lineal

X <- seq(0, 3* pi, length.out = 100)
Y <- -0.3*X + 1 + rnorm(100,0, 0.5)
Z <- -0.3*X +1

rbind(X, Y, Z) -> datos_lineal
plot(Y ~ X, datos_lineal)
lines(Z ~ X, datos_lineal, col = 2, lwd =2)

# Modelo  No Lineal

X <- seq(0, 3* pi, length.out = 100)
Y <- cos(X) + rnorm(100,0, 0.5)
Z <- cos(X)

rbind(X, Y, Z) -> datos_Nolineal
plot(Y ~ X, datos_Nolineal)
lines(Z ~ X, datos_Nolineal, col = 2, lwd =2)

  1. Para los que quieran tener la interfaz como la del profesor, la pueden editar haciendo click en Tools y luego en Global options. Les dejo el enlace para que descarguen Temas de RStudio .

  2. Para poner títulos en el Source ( # Explorando datos simulados -----------------------), solo tienen que presionar CRTL + SHIFT + R, les saldrá una ventana, ingresan el titulo que deseen y quedará tal como en el ejemplo.

Chicos y chicas dejo el notebook de la clase para el que lo quiera revisar:
https://colab.research.google.com/drive/14Q-1yPCkW9yRfkYrsCLT5FtVNVMuOCKY?usp=sharing
😀👍🏼

En la parte final del video el profesor no cambio las variables de datos_lineal pero de igual manera esta bien la grafica, ya que antes de cambiarla, el ejecuto esa linea y los datos de los dos dataframe son los mismo, pero para ejecutarlo todo seguido, debes cambiar el nombre.

Cualquiera de estas opciones funciona para asignar un valor a una variable:

100 -> var
var <- 100
var = 100

Es algo muy simple pero para poner la tilde ~ en MacOs usen option + Ñ,

Si queremos las mismas graficas , debemos usar un valor semilla, no ? set.seed(123)

Lo hice para ver como afecta aumentar la desviacion en la data perturbada

# Modelo lineal -----------------------------------------------------------
library("dplyr")
library("ggplot2")
library("magrittr")
library("purrr")
desviaciones <- c(0.5, 1.5, 3)
simulacion <- data.frame()

for (i in seq_len(length(desviaciones))){
  tibble(
    X = seq(0, 10, length.out = 100),
    Y = 1*X + 1 + rnorm(100, 0, desviaciones[i]),
    Z = 1*X + 1,
    W = desviaciones[i]
  ) -> datos_lineal
  simulacion <- rbind(simulacion, datos_lineal)
}

qplot(X, Y, data = simulacion) +facet_grid(W ~.) +
  geom_path(aes(X, Z), colour = colour_setup[1], size = 1) +
  # geom_smooth(aes(X, Y), colour = colour_setup[2], method = "lm", size = 1, se = FALSE) +
  theme_minimal()

Caso Lineal

Caso NoLineal