Je pourrais résoudre ce problème en utilisant des boucles, mais j'essaie de penser en vecteurs, donc mon code sera plus R-esque.
J'ai une liste de noms. Le format est Prénom_Nom de famille. Je veux extraire de cette liste une liste distincte contenant uniquement les prénoms. Je ne parviens pas à comprendre comment faire. Voici quelques exemples de données :
t <- c("bob_smith","mary_jane","jose_chung","michael_marx","charlie_ivan")
tsplit <- strsplit(t,"_")
qui ressemble à ceci :
> tsplit
[[1]]
[1] "bob" "smith"
[[2]]
[1] "mary" "jane"
[[3]]
[1] "jose" "chung"
[[4]]
[1] "michael" "marx"
[[5]]
[1] "charlie" "ivan"
Je pourrais obtenir ce que je veux en utilisant des boucles comme celle-ci :
for (i in 1:length(tsplit)){
if (i==1) {t_out <- tsplit[[i]][1]} else{t_out <- append(t_out, tsplit[[i]][1])}
}
ce qui me donnerait ça :
t_out
[1] "bob" "mary" "jose" "michael" "charlie"
Alors comment puis-je faire cela sans boucles ?