Раздел кода под ним - хорошее представление набора данных, с которым я имею дело.
x <- "test is bad. test1 is good. but test is better. Yet test1 is fake"
y <- "test1 is bad. test is good. but test1 is better. Yet test is fake"
a <- "this sentence is for trying purposes"
z <- data.frame(text = c(x,y,a))
z$date <- c("2011","2012","2015")
z$amount <- c(20000, 300, 5600)
z$text <- as.character(z$text)
То, что я хочу сделать, - это по существу извлечь только предложения, содержащие слово test1, и проанализировать их в новом столбце (z $ предложений), чтобы выполнять другие операции.
Я попытался использовать следующее:
z$sentences <- grep("test1", unlist(strsplit(z$text, '(?<=\\.)\\s+',
perl=TRUE)), value=TRUE)
Но он возвращает ошибку, потому что замена имеет 4 строки, а данные имеют 3.
Я также пытался сunlist, но другая информация столбца, к сожалению, теряется в процессе.
2 для этого удовлетворительные результаты:
Дополнительный столбец с предложениями, содержащими только «test1» или длинный формат, в котором каждая строка все еще содержитданные (дата, количество) с предложениями.
Ожидаемый результат:

Со всеми предложениями, которые совпадают в столбце

с новой строкой для каждого предложения, соответствующего условию, хотя последняя строка не должна присутствовать.
Любая помощь приветствуется