использование цикла for при загрузке данных с сервера с использованием функции в R?

#r #function #dataframe #loops #for-loop

#r #функция #dataframe #циклы #цикл for

Вопрос:

Я пытаюсь загрузить данные о потоковом потоке за час для Num_St с нашего внутреннего сервера с помощью function (i.e., myfunction) , а затем сохранить их в tss using for loop . Когда i = 1 это function работает, но когда i = Num_St (i.e., data for multiple points) это for loop не работает. function Сам по себе слишком большой, чтобы публиковать здесь, и я, кажется, изо всех сил пытаюсь создать reproducible example для этой конкретной проблемы. Я был бы признателен за любые мысли о том, как хранить данные нескольких точек в tss .

 Num_st <- nrow(Stations)
for (i in 1:Num_st) {
  tss<- myfunction(id[i],Data[i],Stage[i])
  }
  

Я пробовал ниже, но это выдает ошибку.

  tss[,i 1]<- myfunction(id[i],Data[i],Stage[i])
  

Комментарии:

1. Вы также можете попробовать out <- Map(myfunction, id, Data, Stage) получить все данные без явного for цикла.

Ответ №1:

Выходные данные лучше сохранять в виде списка

 tss <- vector('list', Num_st)
for (i in 1:Num_st) {
    tss[[i]]<- myfunction(id[i],Data[i],Stage[i])
  }