Для l oop вычисление всех возможных комбинаций переменных по указанной формуле c - PullRequest
0 голосов
/ 09 мая 2020

Я пытаюсь рассчитать индекс растительности в соответствии с (b1-b2)/(b2-b3), где b - это спектральный диапазон, то есть переменная в кадре data.frame.

Я хочу вычислить все возможные комбинации b1, b2, b3 согласно этому уравнению. Всего 623 полосы.

Я проделал то же самое для двух индексов полос, таких как (b1 / b2), и это сработало, но по какой-то причине это не работает для трех комбинаций полос. Я думаю, проблема может заключаться в трех измерениях.

создать 3D-массив со всеми размерами = столбцам в reflectance df

arr1 <- array(NA, c(ncol(reflectance.new),ncol(reflectance.new),ncol(reflectance.new)))

for (i in 1:ncol(reflectance.new[,1:623])) {
for (j in 1:ncol(reflectance.new[,1:623])) {
for (k in 1:ncol(reflectance.new[,1:623])) 
  if (i==j) {
    arr1[i,j,k] <- NA }
   else if (i==k) {
    arr1[i,j,k] <- NA
  } else if (j==k) {
    arr1[i,j,k] <- NA
  } else {arr1[i,j,k] <- (reflectance.new[,i] - reflectance.new[,j])/(reflectance.new[,j]-reflectance.new[,k])}
}
}

Любая помощь будет принята с благодарностью!

...