模拟具有散点和与 X 的已知关系的数组

Simulate array with scatter & known relation to X

这是一个非常基本的 R 问题,但我似乎找不到合适的包来做我想做的事。

我有一个包含 n 个值的数组 'X'。我想模拟一个数组 'Y',它遵循已知关系 Y = alpha + beta*X。此外,我想向 Y 数组添加内在散射。 Alpha、beta 和固有散点应由用户输入值。

有人可以帮我解决这个问题吗?

谢谢!

你是这个意思吗?

> x <- 1:5
> alpha <- 2
> beta <- 3
> y <- alpha + beta * x
> y
[1]  5  8 11 14 17

"scatter" 是指随机噪声吗?您可以像这样通过添加随机值来模拟它(我使用的是正态分布):

> y <- alpha + beta * x + rnorm(5)
> y
[1]  4.710538  7.700785 10.588489 14.252223 16.108079

这是一个函数,它创建相关性的确定性部分,然后通过 rnorm

添加噪声
make_correlation <- function(alpha, beta, scatter, x){
  # make deterministic part
  y_det <- alpha + beta*x
  # add noise
  y <- rnorm(length(x), y_det, scatter)
  return(y)
}

set.seed(20)
x <- runif(20, 0, 10)

answer <- make_correlation(alpha = 2, beta = 3, scatter = 2, x)

情节(答案~x)