Chcę odfiltrować wiersze tabeli, które zawierają "*" w wartości ciągu kolumna. Sprawdzam tylko tę kolumnę.Jak ustalić, czy ciąg "kończy się" innym ciągiem w R?
string_name = c("aaaaa", "bbbbb", "ccccc", "dddd*", "eee*eee")
zz <- sapply(tx$variant_full_name, function(x) {substrRight(x, -1) =="*"})
Error in FUN(c("Agno I30N", "VP2 E17Q", "VP2 I204*", "VP3 I85F", "VP1 K73R", :
could not find function "substrRight"
Czwarta wartość zz powinna być PRAWDA przez to.
w Pythonie istnieje funkcja ends dla ciągów znaków [string_s.endswith ('*')] Czy jest coś podobnego do tego w R?
Co więcej, czy jest to problem ze względu na znak "*", ponieważ oznacza on jakąś postać? grepl również nie działa.
> grepl("*^",'dddd*')
[1] TRUE
> grepl("*^",'dddd')
[1] TRUE
można uciec '*' 'Grepl ("\\ *", 'dddd *')'. Aby znaleźć ciągi zakończone znakiem '*', możesz użyć 'grepl (" \\ * $ ", nazwa_łańcucha)' – jdharrison