, "grepl" -
"", "raw_df", , , "indx", aggregate
paste
"", "" ''
NA
na.locf
, , NA. "" "", "indx"
indx <- grepl("-", raw_df$text)
transform(aggregate(text~demand, transform(raw_df[!indx,],
demand = zoo::na.locf(replace(demand, demand=="", NA))), toString),
outcome = raw_df$demand[indx])
data.table
library(data.table)
setDT(raw_df)[demand == "", demand := NA][!indx, .(text= paste(text, collapse='. ')),
.(demand = zoo::na.locf(demand))][, outcome := raw_df$demand[indx]][]