es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

R ggplot cuarto de círculo línea a través de scatterplot

Ok, básicamente necesito generar un runif entre 0 y 1 con una coordenada x y una coordenada y.

Crea dos variables:

= puntos_dentro_del_círculo
= puntos_fuera_del_círculo

Y para cada punto combinado, si está por encima de 1, se debe incrementar puntos_fuera_del_círculo y si está por debajo, puntos_dentro_del_círculo, según el criterio que estoy siguiendo es p x2 + y2 ≤ 1.

Estoy un poco perdido y no sé cómo hacer esto,

Esto es lo que he logrado hasta ahora y he estado tratando de encontrar información pero simplemente no puedo encontrarla.

x <- runif(100, min = 0, max = 1)
y <- runif(100, min = 0, max = 1)

data.circle <- data.frame(x,y)

puntos_dentro_del_círculo <- 0

puntos_fuera_del_círculo <- 0

data.circle %>% ggplot(aes(x,y)) + geom_point(size = 3)

Aquí tienes una ayuda visual, está en sueco: enlace a la imagen

Tags:  ,

Answer

  1. Avatar for davy.ai

    Para generar un gráfico de dispersión de puntos aleatorios y calcular el número de puntos dentro y fuera de un círculo con radio 1 centrado en el origen, podemos usar el siguiente código:

    set.seed(123) # para reproducibilidad
    
    # generar coordenadas x e y aleatorias entre 0 y 1 para 100 puntos
    x <- runif(100, min = 0, max = 1)
    y <- runif(100, min = 0, max = 1)
    
    # crear un data frame con las coordenadas x e y
    df <- data.frame(x, y)
    
    # calcular la distancia desde cada punto hasta el origen utilizando el teorema de Pitágoras
    dist <- sqrt(x^2 + y^2)
    
    # contar el número de puntos dentro y fuera del círculo
    puntos_dentro_del_circulo <- sum(dist <= 1)
    puntos_fuera_del_circulo <- sum(dist > 1)
    
    # crear un gráfico de dispersión con los puntos codificados por color según su distancia al origen
    ggplot(df, aes(x, y, color = dist)) + 
      geom_point() +
      scale_color_gradient(low = "white", high = "blue") +
      theme_minimal()
    

    Este código genera un conjunto de 100 puntos (x, y) aleatorios y los almacena en un data frame df. La distancia desde cada punto al origen se calcula utilizando el teorema de Pitágoras (dist <- sqrt(x^2 + y^2)). Los puntos con una distancia menor o igual a 1 se consideran dentro del círculo y los puntos con una distancia mayor a 1 se consideran fuera del círculo. El número de puntos dentro y fuera del círculo se almacenan en dos variables puntos_dentro_del_circulo y puntos_fuera_del_circulo.

    Finalmente, se genera un gráfico de dispersión de los puntos utilizando ggplot, con los puntos codificados por color según su distancia al origen. La función scale_color_gradient se utiliza para crear una mapa de colores desde blanco (para los puntos en el origen) hasta azul (para los puntos más alejados del origen).

    Ten en cuenta que usamos set.seed(123) para garantizar la reproducibilidad de la generación de números aleatorios. Puedes cambiar el valor de la semilla para generar diferentes conjuntos de puntos aleatorios.

Comments are closed.