Я борюсь с производительностью моего цикла, в настоящее время требуется более 30 часов, чтобы закончить.Я прилагаю код и информацию. Я думаю, что это связано с тем, что я использую много операций с информационными кадрами, но я не знаю, как это сделать другим способом.range_six_months
имеет 900 тыс. Строк, а copia_grupos_2
имеет 4078 тыс. Строк
client<- numeric(nrow(range_six_months))
client<- range_six_months$CustomerIdx
bond <- numeric(nrow(range_six_months))
bond <- range_six_months$IsinIdx
i<-19
for (i in 1:nrow(range_six_months)){
aaa <- copia_grupos_2[copia_grupos_2$CustomerIdx == client[i] & copia_grupos_2$IsinIdx == bond [i], c(2,3,4,6)]
for (j in 1:nrow(aaa)){
actual <- aaa$week[j]
interes <- sum(aaa$CustomerInterest[aaa$week >= actual - 26 & aaa$week< actual])
copia_grupos_2$num_interest[copia_grupos_2$CustomerIdx == client[i] &
copia_grupos_2$IsinIdx == bond [i] &
copia_grupos_2$week== actual] <- interes
}
}
Перед циклом: Снимок экрана copia_grupos_2 Снимок диапазона range_six_months
После цикла: Ожидаемый результат