Я надеялся на некоторую помощь в извлечении последних N слов из столбца в таблице данных. А затем присвоении его новому столбцу.R: Извлечь последние N слов из столбца символов в data.table
test <- data.table(original = c('the green shirt totally brings out your eyes'
, 'ford focus hatchback'))
оригинальный data.table выглядит следующим образом:
original
1: the green shirt totally brings out your eyes
2: ford focus hatchback
Я хочу подмножество из (до) 5 последних слов в новый столбец, так выглядит результат:
original extracted
1: the green shirt totally brings out your eyes totally brings out your eyes
2: ford focus hatchback ford focus hatchback
Я пробовал:
test <- test[, extracted := paste0(tail(strsplit(original, ' ')[[1]], 5)
, collapse = ' ')]
и почти работает, за исключением того, что первое значение в столбце «добытого» повторяется в течение новой колонки:
original extracted
1: the green shirt totally brings out your eyes totally brings out your eyes
2: ford focus hatchback totally brings out your eyes
Для жизни меня я не могу понять это. Я попробовал функцию «слово» из «stringr», которая дает мне последнее слово, но я не могу показаться обратным.
Любая помощь была бы принята с благодарностью!