Если вы поместите свои фруктовые матрицы в список fruit_list
, вы можете сделать что-то вроде:
mean_master_bwf <- mean(master_bwf [1:35,1])
fruit_national_prodwf <- sapply(fruit_list, function(fbs)
(sum(fbs[1:35, "fbs.P_tonne"] * master_bwf [1:35,1])) -
(fbs[36, "fbs.FE_tonne"] * mean_master_bwf))
Обратите внимание, что вам не нужно пересчитывать среднее значение master_bws в каждой итерации, поскольку оно ссылается накаждый раз один и тот же столбец.
Обновить после комментария ОП :
Взять средние значения столбца в таблице master_bwf, чтобы получить вектор средних значений для каждого фрукта:
mean_master_bwf <- colMeans(master_bwf)
Теперь, предполагая, что столбцы в master_bwf находятся в том же порядке, что и матрицы фруктов, вы можете сделать:
fruit_national_prodwf <- sapply(1:NROW(fruit_list),
function(i) (sum(fruit_list[[i]][1:35, "fbs.P_tonne"] * master_bwf [1:35, i])) -
(fruit_list[[i]][36, "fbs.FE_tonne"] * mean_master_bwf[i]))