library(stringr)
data<-data.frame(id=c(1,2,3),
text=c("This is (2020) text; mining exercise (1999)","Text analysis (1975) is; bit confusing (2012)","Hint (1998) on; this text (2007) analysis?"))
a <- b <- list()
mm <- data.frame(a=NA,b=NA)
for(i in 1:length(data$text)){
a[[i]] <- lengths(strsplit(as.character(data$text[i]),";"))
b[[i]] <- str_count(data$text[i], "\\(19[0-9]{2}\\)|\\(20[0-9]{2}\\)")
}
Вывод, который я получаю:
# mm
a b
1 NA NA
Почему я не получаю соответствующие значения для каждой строки фрейма данных mm
? Код не содержит ошибок.
Ожидаемый результат:
# mm
a b
1 2 2
2 2 2
3 2 2