Я очень новичок в R и столкнулся со следующей проблемой при извлечении строк из столбца фрейма данных.
Допустим, у меня есть столбец A из теста фрейма данных со следующими данными. Я хотел бы создать еще один столбец B, который извлекал бы «Джон», «Мэри» и «Питер» для каждой из строк.
asdsad John asdasd
asdasd John asdasd
asdsad Mary 23123
aasdadsadsad Peter 123124
lkxfhsadf John aspowe1 123poi
asmansd Mary p12 SL asp1
asldk John 123[p asda 214!@$
В настоящее время я использую следующий код для извлечения информации, но он не работает.
library(stringr)
list <- c("John", "Peter", "Mary")
Test$B <- str_extract(Test$A, list)
Я получаю следующий вывод, когда запускаю код.
A B
<chr> <chr>
1 asdsad John asdasd John
2 asdasd John asdasd <NA>
3 asdsad Mary 23123 Mary
4 aasdadsadsad Peter 123124 <NA>
5 lkxfhsadf John aspowe1 123poi <NA>
6 asmansd Mary p12 SL asp1 Mary
7 asldk John 123[p asda 214!@$ John
Может ли кто-нибудь помочь мне понять, почему я получаю N/A в некоторых из них? Что здесь происходит и как это исправить?
pattern=
функцииstr_extract
не соответствует отдельно каждому шаблону (что было бы возвращено, если бы в заданной строке было более одного имени?). Вместо этого он использует повторное использование векторов для проверки разных шаблонов на каждом входе. - person MrFlick   schedule 06.09.2017