r - 在 R 中生成卡方分布的随机数

标签 r chi-squared

我想生成一个包含 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')

resulting plot

如果您的目标是绘制密度函数,请执行以下操作:

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")

resulting plot

后者的优点是情节完全确定。

关于r - 在 R 中生成卡方分布的随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62214197/

相关文章:

读取 .txt 文件中以哈希开头的行

r - 鼠标悬停时的 dygraph 自定义标签失败

r - R编程中,关于逆矩阵及其乘法

r - 如何在 R 中对指数分布使用卡方检验

python - 有人可以解释 BigramAssocMeasures.chi_sq 的语法吗?

python - 为什么我的多参数卡方会陷入错误循环?

json - 将 json 格式的列转换为新的数据框

r - 聚合函数在数据框中创建不需要的向量

r - R中使用for循环的卡方分析

Python - 最小化卡方