J'essaye de sous-classer une liste, basée sur des caractères spéciaux attachés aux éléments. J'ai trouvé plusieurs résultats, mais je pense que je ne comprends pas comment traiter les caractères spéciaux et trouver des éléments contenant des caractères spéciaux. Je voudrais avoir un résultat avec tous les éléments contenant '**' à la fin. J'apprécie n'importe quelle aide et je m'excuse s'il y avait déjà une question semblable, que je n'ai pas trouvée. Une réponse générale sur le traitement des caractères spéciaux lors de la sous-sélection d'une liste sera également très appréciée. Merci pour votre temps.Sélectionner un élément de liste avec un caractère spécial
Exemple-Code:
x1 <- c('a**', 'b', 'c**')
x2 <- c('d**', 'b', 'e**')
y <- list(x1,x2)
#Here are a couple of results i tried:
grep('\\**', y, value =TRUE, ignore.case = TRUE)
y[lapply(y, function(x) x[grep("[^\\**]", x),])]
Filter(function(x) !any(grepl("[^\\**]", x)), y)
y[y = "[^\\**]"]
'grep ("\\ * \\ *", unlist (y), valeur = TRUE)'. Vous devez vous échapper (\\\) pour chaque * –
Merci! C'était très rapide! – Simon
Ou 'grep (" \\ * {2} $ ", unlist (y), value = TRUE)' ce qui est plus facile si vous avez un plus grand nombre de répétitions et que le signe dollar est à la fin de la chaine –