gpt4 book ai didi

r - 获取椭圆函数以匹配 R 中的 dataEllipse 函数

转载 作者:行者123 更新时间:2023-12-02 02:02:20 25 4
gpt4 key购买 nike

所以我从 R 中的多元正态分布中抽样,并试图找出如何使用包 car 中的 ellipse() 函数计算其 95% 置信度椭圆。

这是我正在运行的一些代码:

mu = c(0,0)
sigma = matrix(c(20,0,0,45),nrow=2)

z = rmvnorm(10000,mu,sqrt(sigma))

par(mfrow=c(1,2))
plot(z)
ellipse(mu,sqrt(sigma*qchisq(.05,2)),radius=1)
dataEllipse(z,levels=.95)

所以基本上我希望 ellipse 命令复制 dataEllipse 命令。如果有人有任何建议,我们将不胜感激!

编辑:使用 Dwins 代码并将其组合到我自己的代码中:

library(car)
library(mvtnorm)

mu = c(0,0)
sigma = matrix(c(20,0,0,45),nrow=2)

z = rmvnorm(10000,mu,sqrt(sigma))

dataEllipse(z,levels=.95)
car::ellipse(mu, sigma*qchisq(.05,2), col="blue",
radius=sqrt(2 * qf(.975, 2, 9998)) )

enter image description here

所以如你所见,椭圆仍然不一样......

最佳答案

我猜(虽然你不应该让我这样做)rmvnorm 来自“mixtools”,它是在“car”之后加载的。我认为不需要 sqrt() 函数,因为 ellipse 的参数应该是一个协方差矩阵。目前它正在绘图,但您看不到它,因为您没有将其涂成红色(或其他颜色)。此外,'mixtools' 和 'car' 都有 ellipse 函数,所以如果你想要 car-version(它有一个 radius 参数,不像 mixtools 版本)那么你需要用双冒号调用它惯例:

library(car); library(mixtools)
car::ellipse(mu, sigma*qchisq(.05,2), col="red",
radius=sqrt(2 * qf(.975, 2, 9998)) )

关于r - 获取椭圆函数以匹配 R 中的 dataEllipse 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16659749/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com