Mam strukturę bazy danych - wersja skrócona poniżejWyciąganie dopasowanych słów z ciągiem
structure(list(sex1 = c("totalmaleglobal", "totalfemaleglobal",
"totalglobal", "totalfemaleGSK", "totalfemaleglobal",
"totalfemaleUN")), .Names = "sex1", row.names = c(NA, 6L),
class="data.frame")
Chcę, aby wyodrębnić słowa „całkowity”, „totalmale”, „totalfemale”
Jak to zrobić ?
Próbowałem regex z następującego kodu
pattern1=c("total")
pattern2=c("totalmale")
pattern3=c("totalfemale")
daly$sex <- str_extract(daly$sex1,pattern1)
daly$sex <- str_extract(daly$sex1,pattern2)
daly$sex <- str_extract(daly$sex1,pattern3)
ale jego dając mi na.
Cóż, można uzyskać na przykład 'NA' gdzie' pattern3' nie pasuje. Tak więc jedną z opcji byłoby użycie 'daly $ sex [! Is.na (daly $ sex)]' z drugiego rzędu. (Np. 'Daly $ sex [! Is.na (daly $ sex)] <- str_extract (daly $ sex1! Is.na (daly $ sex)], wzorzec2)') – lukeA
Myślę, że twój opis nie jest jasny jako 'total 'również dopasowuje' totalmale' i 'totalfemale' i nie ma pojedynczego wystąpienia samego' total' w kolumnie. Czy wyświetlasz oczekiwany wynik? – akrun