Podría resolver esto usando bucles, pero estoy intentando pensar en vectores para que mi código sea más R-esque.Cómo evitar un bucle en R: seleccionando elementos de una lista
Tengo una lista de nombres. El formato es firstname_lastname. Quiero sacar de esta lista una lista separada con solo los nombres. Parece que no puedo entender cómo hacer esto. He aquí algunos datos de ejemplo:
t <- c("bob_smith","mary_jane","jose_chung","michael_marx","charlie_ivan")
tsplit <- strsplit(t,"_")
que se parece a esto:
> tsplit
[[1]]
[1] "bob" "smith"
[[2]]
[1] "mary" "jane"
[[3]]
[1] "jose" "chung"
[[4]]
[1] "michael" "marx"
[[5]]
[1] "charlie" "ivan"
que pudiera salir lo que quiero mediante bucles de este tipo:
for (i in 1:length(tsplit)){
if (i==1) {t_out <- tsplit[[i]][1]} else{t_out <- append(t_out, tsplit[[i]][1])}
}
que me darían esto:
t_out
[1] "bob" "mary" "jose" "michael" "charlie"
Entonces, ¿cómo puedo hacer esto sin bucles?
Por cierto que puede ser útil si pudiera detalle cómo esto es diferente de sus preguntas anteriores sobre el mismo tema: http://stackoverflow.com/questions/439526/thinking-in -vectores-con-r http://stackoverflow.com/questions/1246244/r-using-the-apply-function-on-a-data-frame-help-me-get-my-vector-victor http://stackoverflow.com/questions/445059/vectorize-my-thinking-vector-operations-in-r –
¿te refieres a mi total incapacidad para realmente aprender a aplicar funciones en R? Sí, el mismo problema, diferente matiz. Gracias por recordarme. –