基于正态分布的模拟球形数据

时间:2017-04-29 07:36:35

标签: r

我对以下问题毫无头绪。任何帮助表示赞赏。 “用n = 1000个观测值和p = 3个协变量模拟数据 - 来自标准正态分布的所有随机变量。创建两个类别类变量,将半径为1.5的球体内的所有观测值分配为3D零到一个类别以及所有其他类别 - - 到第二个“。

1 个答案:

答案 0 :(得分:0)

这是一个让你前进的2D例子......

library(ggplot2)
library(grid)

样本x& y正常分布的坐标(默认平均值= 0,sd = 1)

df <- data.frame(x = rnorm(100), y = rnorm(100))

计算距中心的距离(0,0)

df$r = sqrt(df$x^2 + df$y^2)

分配到类别

df$category <- ifelse(df$r < 1, "in", "out")

剧情

ggplot(df, aes(x = x, y = y, color = category)) + 
    geom_point() +
    coord_equal() + 
    annotation_custom(grob=circleGrob(r=unit(1,"npc"), gp = gpar(fill = NA)), xmin=-0.5, xmax=0.5, ymin=-0.5, ymax=0.5)

enter image description here