Как перебрать цикл - PullRequest
       15

Как перебрать цикл

0 голосов
/ 26 апреля 2019

Я хотел бы сделать это автоматически вместо того, чтобы набирать его 1500 раз.

n1 <- spei[sp_latong[[1]]$lon_indx,sp_latong[[1]]$lat_indx,ind_time]
.
.
.
n1500 <- spei[
  sp_latong[[1500]]$lon_indx,
  sp_latong[[1500]]$lat_indx,
  ind_time ]  
         ### create final data
dat1 <- cbind(n1,n2,...,n1500)

Я попытался использовать цикл, и у меня есть код ниже:

    t <- 0
    for(i in 1: length(sp_latong){
    t[[i]] < - 
    spei[sp_latong[[i]]$lon_indx,sp_latong[[i]]$lat_indx,ind_time]  
    }

Я получилсообщение об ошибке

Ошибка в spei [sp_latong [[i]] $ lon_indx, sp_latong [[i]] $ lat_indx]: неверное количество измерений.

Мне пришлось изменить t [[i]] на t [i], а также на t, и я получил то же сообщение об ошибке.Любой совет будет оценен.

Примечание: большой массив sp_latong - список

1 Ответ

1 голос
/ 26 апреля 2019

Я исправил это с помощью кода ниже, основываясь на идеях Dave2e

    t<- list()
    for(i in 1:length(sp_latong)){

    t[[i]] <- spei[sp_latong[[i]]$lon_indx,sp_latong[[i]]$lat_indx,ind_time]

    }

@ Dave2e большое спасибо.

...