2012-07-18 11 views
18

Tengo una función en la que defino un data.frame que utilizo bucles para completar con los datos. En algún momento consigo el mensaje Advertencia:Cambiar la configuración de stringsAsFactors para data.frame

mensajes de advertencia: 1: en [<-.factor (*tmp*, ISEQ, valor = "CHANGE"): nivel de factor no válida, NAS generado

Por lo tanto, cuando defino mi data.frame, me gustaría establecer la opción stringsAsFactors en FALSE pero no entiendo cómo hacerlo.

que he intentado:

DataFrame = data.frame(stringsAsFactors=FALSE) 

y también:

options(stringsAsFactors=FALSE) 

¿Cuál es la forma correcta de establecer la opción stringsAsFactors?

+0

ver http://stackoverflow.com/questions/2851015/r-convert-data-colour-columns-from-factors-to-characters – GSee

Respuesta

26

Depende de cómo llene su marco de datos, para lo cual no ha dado ningún código. Cuando se crea un nuevo marco de datos, puede hacerlo t como esto:

x <- data.frame(aName = aVector, bName = bVector, stringsAsFactors = FALSE) 

En este caso, si por ejemplo, aVector es un vector de caracteres, luego la columna del dataframe x$aName también será un vector de caracteres, y no un factor. Combinar eso con una trama de datos existente (usando rbind, cbind o similar) debe preservar ese modo.

Al ejecutar

options(stringsAsFactors = FALSE) 

cambia la configuración global por defecto. Por lo tanto, cada marco de datos que cree después de ejecutar esa línea no se convertirá automáticamente en factores a menos que se le indique explícitamente que lo haga. Si solo necesita evitar la conversión en un solo lugar, preferiría no cambiar el valor predeterminado. Sin embargo, si esto afecta a muchos lugares en su código, cambiar el valor predeterminado parece una buena idea.

Una cosa más: si su vector ya es un factor, ninguno de los anteriores lo convertirá en un vector de caracteres. Para hacerlo, debe convertirlo explícitamente utilizando as.character o similar.

+0

Gracias por 'una cosa más' parece que mi error proviene de eso. – VincentH

Cuestiones relacionadas