Esto se debe a que ha leído los números como factores; si usa read.table
, pruebe header=T
o reestructura los datos antes de leerlos. Alguna muestra del archivo debería ser útil para resolverlo.
La solución sería convertir primero los factores en cadenas usando as.character
y luego volver a números con as.numeric
.
Editar: Código que funciona para el ejemplo proporcionado:
readLines("<filename>")->z read.table(textConnection(z[-grep("V",z)]))
Comentarios
¿Eso ayudaría?
> a <- as.data.frame(matrix(scan("1.txt", what="character", na.strings=c("NA",paste("V",1:6,sep=""))), nc=13, byrow=T)) > class(a[,1]) [1] "factor" > for (i in 1:ncol(a)) a[,i] <- as.numeric(as.character(a[,i])) > class(a[,1]) [1] "numeric" > summary(a) # should work here
La forma de importar datos no importa tanto; creo que la parte crítica es convertir el valor como carácter y luego como numérico (esto permite convertir los niveles de un factor a sus contrapartes numéricas) .
Comentarios