Я пытаюсь распараллелить это для l oop, сначала преобразовав l oop в lapply.
отправлено - это тиббл с примерно 20000000 строками
Для l oop использует индекс от i до go в каждой отправленной строке. Если выполнены два условия, 31 строка (от i-15 до i + 15) нарезается и добавляется к другому тибблу (либо femaleWindow, либо maleWindow).
Есть ли у вас какие-либо советы, как преобразовать это в lapply / parallelize for l oop, чтобы сэкономить время?
for (i in seq_len(nrow(sent)))
{
if(i>15){h=i-15} else{h=1}
j=i+15
cut <- slice(sent,i)
if (cut[1,5]=="yes")
{
window <- slice(sent, h:j)
leadcut <- window %>% filter(leader=="yes")
x = fleadcut[1,4] %>% replace_na(list(leader="none"))
if(x =="yes")
{
femaleWindow <- bind_rows(femaleWindow, window)
}
} else if (cut[1,5]=="no")
{
window <- slice(sent, h:j)
leadcut <- window %>% filter(leader=="yes")
x = leadcut[1,4] %>% replace_na(list(leader="none"))
if(x =="yes")
{
maleWindow <- bind_rows(maleWindow, window)
}
} else{print(i)}
}
Спасибо!