在 R 上创建柯西分布

Creating a Cauchy Distribution on R

我正在做 的 c) 部分,这需要 Cauchy 分布。这是我的尝试:

counter <- 0
slopes <- c()

while(counter < 1000) {
  xvals <- runif(n = 100, min = -1, max = 1)
  evals <- rcauchy(100)
  y <- 5 + 3 * xvals + evals
  fit <- lm(y ~ xvals)
  slopes <- c(slopes, fit$coefficients[[2]])
  counter <- sum(counter, 1)
}
mean(slopes)
print(evals)
plot(evals)

然而,我得到了一些非常奇怪的结果,我怀疑它们是否正确:

我也试过设置 evals <- (x, location = 0, scale = 1, log = FALSE) 但这不起作用。我只是不明白 dcauchy 和 rcauchy 之间的区别,以及如何让错误成为 Cauchy 分布。谁能解释奇怪的结果?

如评论中所述,您的代码正在执行 "right thing",但是您可能需要调整您对尾部发生的事情的重要性的直觉

至于功能的区别:

有许多遵循此约定的相关代码集,rnormdnorm 用于正态分布,但您可以查看 https://stats.stackexchange.com/q/157662/17060 以获得更多关于差异的评论