Sono stato sorpreso di vedere che R coarrà i fattori in un numero quando concatenando vettori. Questo succede anche quando i livelli sono gli stessi. Per esempio:Come concatenare i fattori, senza che vengano convertiti a livello intero?
> facs <- as.factor(c("i", "want", "to", "be", "a", "factor", "not", "an", "integer"))
> facs
[1] i want to be a factor not an integer
Levels: a an be factor i integer not to want
> c(facs[1 : 3], facs[4 : 5])
[1] 5 9 8 3 1
qual è il modo idiomatico di fare questo in R (nel mio caso questi vettori possono essere abbastanza grande)? Grazie.
Great thanks ! Ho appena capito che unlist (lista (facs [1: 3], facs [4: 5])) funziona anche che è bello se non sai in anticipo che facs è un tipo di fattore. – Keith
L'impostazione manuale dei livelli in questo modo non ha funzionato per il mio particolare problema. (Ho livelli a base 0. Potrei aver sottratto 1 e poi ricostruito il fattore, ma, ciò è fragile e nella parte inferiore dello spettro della scrutabalità, anche per R.) Invece (evviva?) Sono andato con 'unlist (lista (...)) '. –