У меня есть этот набор данных
obs <- data.frame(replicate(8,rnorm(10, 0, 1)))
и эти коэффициенты
coeff <- data.frame(replicate(8,rnorm(2, 0, 1)))
Для каждого столбца obs мне нужно умножить первый элемент первого столбца и добавить второйэлемент первого столбца тоже.Мне нужно сделать то же самое для 8 столбцов.Я где-то читал, что если кто-то копирует и вставляет код несколько раз, вы делаете что-то не так ... и это именно то, что я сделал.
obs.transformed.X1 <-(obs[1]*coeff[1,1])+coeff[2,1]
obs.transformed.X2 <-(obs[2]*coeff[1,2])+coeff[2,2]
.
.
.
.
.
obs.transformed.X8 <-(obs[8]*coeff[1,8])+coeff[2,8]
Я знаю, что есть более разумный способ сделать это (цикл?), но я просто не мог понять это.Любая помощь будет оценена.
Это то, что я пробовал, но я получаю только последний столбец
for (i in 1:length(obs)) {
results=(obs[i]*coeff[1,i])+coeff[2,i]
}