Итак, в ходе создания поддельных данных для ответа на вопрос о карте я обнаружил, что пишу следующее:
# Generate some fake data
lat <- seq(-90, 90, by = 5)
lon <- seq(-180, 180, by = 10)
phi <- matrix(0, nrow = length(lat), ncol = length(lon))
i <- 1
for (l1 in lat) {
j <- 1
for (l2 in lon) {
phi[i, j] <- (sin(pi * l1 / 180) * cos(pi * l2 / 180))^2
j <- j+1
}
i <- i+1
}
phi <- 1500*phi + 4500 # scale it properly
Теперь очевидно, что эти два центральных цикла for не такие R'ish, как мне хотелось бы. Кажется, я должен иметь возможность получить mapply
или что-то в этом роде, но, к сожалению, это возвращает список и на самом деле не делает то, что я хочу. Другие приложения, похоже, тоже не работают.
Что мне здесь не хватает?