Tengo un gran marco de datos (14552 filas por 15 columnas) que contiene datos de facturación de 2001 a 2007. He utilizado sqlFetch para obtener datos de 2008. Con el fin de añadir los datos de 2008 a los datos de los 7 años anteriores se podría hacer de la siguiente maneraAdjuntar filas a un marco de datos: el problema del factor
alltime <-rbind(alltime,all2008)
desgracia que genera
mensaje Advertencia: en
[<-.factor
(*tmp*
, ri, el valor = c (na, na, na, na, na, na, na, : nivel de factor válido, AN genera
Mi conjetura es que allí e hay algunos pacientes nuevos cuyos nombres no estaban en el marco de datos anterior y, por lo tanto, no sabrían a qué nivel darlo. Otra columna es para el nombre del médico referente. Un nuevo médico remitente causaría el mismo problema.
La forma en que R importa los datos y automáticamente resuelve lo que es numérico y lo que no (y lo convierte en un factor) es maravilloso, hasta que tenga que manipularlo más y luego se convierta en un dolor. ¿Cómo supero mi problema elegantemente?
Esto es extraño. Los factores no deberían causar esto, en la ayuda para 'rbind' se dice: "Los factores tienen sus niveles expandidos según sea necesario" (R-2.9.2). ¿Tal vez podría verificar exactamente qué columna causa esto? – Marek
¡Qué gran punto Marek! El mensaje de advertencia me asustó. Después de leer tu comentario volví a explorar mis datos. Parece que todos los datos nuevos están allí y se han agregado niveles adicionales. En esta etapa, podría dejarlo como una advertencia que debería ignorarse, que es un hábito peligroso para entrar (ya que uno tiene que tener una base de datos en su cabeza de advertencias para tomarse en serio frente a las advertencias que deben ignorarse). ¿Cómo averiguo de dónde vino el mensaje de advertencia? – Farrel