模拟具有散点和与 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)
这是一个非常基本的 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)