Chciałbym spłaszczyć listy wyodrębnione z tabel HTML. Minimalny przykład działania przedstawiono poniżej. Przykład zależy od pakietu stringr
w R. Pierwszy przykład wykazuje pożądane zachowanie.Wyodrębnij ostatnią 4-cyfrową liczbę z serii w R używając stringr
years <- c("2005-", "2003-")
unlist(str_extract_all(years,"[[:digit:]]{4}"))
[1] "2005" "2003"
Poniższy przykład daje niepożądany wynik, gdy próbuję dopasować ostatnią 4-cyfrową liczbę w szeregu innych liczb.
years1 <- c("2005-", "2003-", "1984-1992, 1996-")
unlist(str_extract_all(years1,"[[:digit:]]{4}$"))
character(0)
Jak rozumiem z dokumentacji, należy podać $
na końcu wzorca w celu zażądania meczu na końcu łańcucha. Wolałbym dopasować z drugiego przykładu liczby "2005", "2003" i "1996".
'substr (years1,1,4)' zawiera listę "2005", "2003", "1984", gdzie chciałbym uzyskać "2005", "2003" i "1996" – Daniel
Jak o 'sub ('. * (\\ d {4}). *', '\\ 1', years1)'? – jbaums
@jbaums, który na pewno działa, czy mógłbyś podać zasób/wyjaśnienie swojego rozwiązania? – Daniel