Me sorprendió ver que R forzará factores en un número al concatenar vectores. Esto sucede incluso cuando los niveles son los mismos. Por ejemplo:¿Cómo concatenar factores sin que se conviertan a un nivel entero?
> 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
cuál es la forma idiomática para hacer esto en R (en mi caso estos vectores pueden ser bastante grande)? Gracias.
Grandes gracias ! Acabo de descubrir que la lista (lista (facs [1: 3], facs [4: 5])) también funciona, lo cual es bueno si no sabes de antemano que los facs son un tipo de factor. – Keith
Establecer los niveles manualmente de esta manera no funcionó para mi problema en particular. (Tengo niveles basados en 0. Pude haber restado 1 y luego reconstruido el factor, pero eso es frágil y en el extremo inferior del espectro de escrupulosidad, incluso para R.) En vez (¿hurra?), Fui con 'unlist (lista (...)) '. –