Voglio filtrare le righe di una tabella che contengono '*' nel valore di stringa della colonna. Controllando solo quella colonna.Come determinare se una stringa "termina con" un'altra stringa in 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"
Il 4 ° valore di zz dovrebbe essere VERO di questo.
in python esiste una funzione di endswith per stringhe [string_s.endswith ('*')] Esiste qualcosa di simile in R?
Inoltre, il problema è dovuto a "*" come carattere in quanto indica un carattere qualsiasi? grepl anche non funziona.
> grepl("*^",'dddd*')
[1] TRUE
> grepl("*^",'dddd')
[1] TRUE
si può sfuggire al * '' 'Grepl ("\\ *", 'dddd *')'. Per trovare stringhe che terminano con un '*' puoi usare 'grepl (" \\ * $ ", nome_stringa)' – jdharrison