我想生成一个包含 100,000 个随机数且自由度为 3 的卡方分布。
这是我试过的。
df3=data.frame(X=dchisq(1:100000, df=3))
但输出不是我所期望的。我使用以下代码将其可视化。
ggplot(df3,aes(x=X,y=..density..)) + geom_density(fill='blue')
然后pdf看起来不正常。请帮忙
最佳答案
使用 rchisq
从分布中采样:
df3=data.frame(X=rchisq(1:100000, df=3))
ggplot(df3,aes(x=X,y=..density..)) + geom_density(fill='blue')
如果您的目标是绘制密度函数,请执行以下操作:
ggplot(data.frame(x = seq(0, 25, by = 0.01)), aes(x = x)) +
stat_function(fun = dchisq, args = list(df = 3), fill = "blue", geom = "density")
后者的优点是情节完全确定。
关于r - 在 R 中生成卡方分布的随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62214197/