Как запустить цикл на разных группах в R - PullRequest
0 голосов
/ 05 декабря 2018

Я разработал цикл for, который ссылается на предыдущую запись в вычислении.

for(j in 2:nrow(fd1))){
    fd1$c[j]=((fd1$c[j-1]+fd1$outflow[j])/(1+fd1$discount_rate[j]))-fd1$inflow[j]
  }

Я сгруппировал фрейм данных с помощью оператора group_by из пакета Dplyr и теперь хочу выполнить этот цикл в другомгрупп.Кроме того, будет очень полезно, если кто-то может объяснить мне, как выполнить цикл с каналами

Спасибо за вашу помощь

1 Ответ

0 голосов
/ 05 декабря 2018

Вроде для петель не нужны:

fd1 <- fd1 %>%
group_by(id) %>%
mutate(c = (lag(c) + outflow)/(1+discount_rate)-inflow) %>%
filter(!is.na(c)) # if you want to remove resulting NAs (because of lag)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...