Mon problème est le suivant : j'ai un cadre de données avec une colonne contenant des noms d'espèces comme ceci :
- Genre1 espèce1
- Genre1 espèce2
- Genus2 espèces3
Et je veux simplement couper les noms de genre comme ceci :
- G. espèces1
- G. espèces2
- G. espèces3
Mon problème n'est pas la manupilation des chaînes. Je n'arrive pas à comprendre comment utiliser simplement ma fonction qui ressemble à ça :
truncateGenusName <- function(x){
genus <- str_sub(x, 1, 1)
posOfSpace <- str_locate(x, " ")[1]
epitheton <- str_sub(x, posOfSpace, str_length(x))
paste0(genus, '. ', epitheton)
}
J'essayais d'appeler la fonction comme ceci :mutate(data, species = replace (species, TRUE, truncateGenusName(species)))
Le problème avec cet appel est que ce n'est pas une seule chaîne de caractères qui est transmise à la fonction, mais une liste.
Je suppose que mon approche est bien trop compliquée. Quelqu'un a peut-être un raccourci ?