Я пытаюсь построить условные распределения из двумерных нормалей, используя совместные и маргинальные распределения.
Условное распределение X, заданное Y, равно X | Y = y ~ N (rho * y, 1-rho ^ 2), а Y, заданное X, равно Y | X = x ~ N (rho * x, 1-rho ^ 2)
Вот мой подход для реализации этого в R с использованием моделирования (принимая конкретное значение rho = 1/2 как в суставном, так и в предельном дист. Для получения дополнительной информации см. Здесь :
plot.new()
num<-exp(-2*((x^2)-(x*y)+(y^2))/3)
den<-(exp((-x^2)/2)*sqrt(3))/sqrt(2*pi)
quot<-num/den
fun <- function(x, y){quot}
xs <- seq(-10, 10, by=1)
ys <- seq(-10, 10, by=1)
res <- mapply(fun, list(xs), list(ys))
cols <- c("black", "cornflowerblue", "orange")
matplot(xs, res, col=cols, type="l", lty=1, lwd=2, xlab="x", ylab="result")
legend("bottomright", legend=ys, title="value of y", lwd=2, col=cols)
Когда я запускаю код, я получаю сообщение об ошибке
Error in matplot(xs, res, col = cols, type = "l", lty = 1, lwd = 2, xlab = "x", :
'x' and 'y' must have same number of rows
почему говорится, что x и y должны иметь одинаковое количество строк? В какой части кода я могу это исправить?
Я не понимаю, пожалуйста, помогите мне.