У меня есть матрица переменных, и я пытаюсь запустить цикл, который сравнивает разницу между всеми переменными в регрессии, так что создается и заполняется матрица разница. Ниже приведен некоторый код моделирования для решения проблемы. Я хотел бы создать матрицу, которая сравнивает x_1, x_2 и x_3, чтобы создать матрицу 3x3, которая симметрична относительно диагонали, и все они должны быть нулями.R Сравнение всех столбцов в матрице от каждого в цикле
y <- sample(seq(1:4), 100, replace = TRUE)
x_1 <- sample(seq(1:2), 100, replace = TRUE)
x_2 <- sample(seq(1:4), 100, replace = TRUE)
x_3 <- sample(seq(1:4), 100, replace = TRUE)
frame <- cbind(x_1, x_2, x_3)
dif <- matrix(NA, ncol = 3, nrow = 3)
for(i in 1:3){
model_1 <- lm(y ~ frame[,i])
model_2 <- lm(y ~ frame[,i])
dif[i]<- (model_2$coef[2] - model_1$coef[2])
}
Я запутался о том, как индекс цикла и относятся к матрице х годов, чтобы произвести таблицу 3х3 с результатами - любая помощь будет оценена.
Конечно , Я получил '[, 1] [, 2] [, 3] frame [, i] 0.0000000 0.45301438 0.48499630 frame [, i] -0.4530144 0.00000000 0.03198192 frame [, i] -0.4849963 -0.03198192 0.00000000 '(извините, не могу поместить строки перерывов) –
Я думаю, что это работает, если вы сначала разделите' model <- c() '. –
Исправлено, спасибо. –