[R-es] el uso de read.table
Argel Gastélum Arellánez
argel.gastelum en gmail.com
Lun Jun 13 04:30:52 CEST 2011
El 12/06/11 18:53, Angela Andrea Camargo Sanabria escribió:
> Buenas tardes a todos,
>
> Podrían por favor resolverme una duda que tengo sobre el uso de esta
> función. Qué debo especificar en la sintaxis para que me lea una base de
> datos que tiene espacios en blanco (intencionalmente) y no me salga este
> aviso de error
> Error en scan(file, what, nmax, sep, dec, quote, skip, nlines, na.strings,
> : la linea 1 no tiene 27 elementos
>
> Muchas gracias por su ayuda.
>
>
> ----
> *Angela Andrea Camargo Sanabria*
> Estudiante Doctorado en Ciencias Biológicas
> Laboratorio de Ecología de poblaciones y comunidades tropicales
> Centro de Investigaciones en Ecosistemas (CIEco)
> UNAM, campus Morelia
> Antigua Carretera a Pátzcuaro # 8701
> Col. Ex-Hacienda de San José de la Huerta, CP 58190
> Morelia, Michoacán, México
> Tel.: 443-3222706 ext. 42511
> e-mail: aacamargo en cieco.unam.mx
> skype: angela.camargo2
Hola Angela, buenas noches.
Si estás tratando de leer tus datos a partir de un archivo de texto
plano, o de un archivo .csv, a veces me pasa este problema cuando lo
edito directamente con gedit (en ubuntu, o con el block de notas en
windows). Digamos por ejemplo que tienes el archivo "datos.csv", con los
siguientes datos separados por comas:
"FACTOR","RESPUESTA"
"F1",
"F1",1.56
"F1",1.57
"F2",2.43
"F2",2.30
"F2",2.15
"F3",1.78
"F3",0.83
"F3",1.04
Para leer los datos con read.table puedes hacerlo así:
DATOS <- read.table("/ruta/del/archivo/datos.csv", header=T, sep=",")
el argumento header=T indicará que la primera línea tiene los
encabezados de las columnas o variables, y el argumento sep="," indicará
que las columnas estarán separadas por comas. Con esto R leerá los datos
sin problemas, además pondrá un "NA" en el primer registro, donce falta
el dato. Pero si hago una edición del archivo "datos.csv" y lo dejo así
(sin la coma en la primera fila de datos):
"FACTOR","RESPUESTA"
"F1"
"F1",1.56
"F1",1.57
"F2",2.43
"F2",2.30
"F2",2.15
"F3",1.78
"F3",0.83
"F3",1.04
la orden "read.table" que usé antes me arroja el siguiente resultado,
como el que pones en tu consulta:
Error en scan(file, what, nmax, sep, dec, quote, skip, nlines,
na.strings, :
la linea 1 no tiene 2 elementos
Creo que tal vez tienes algún problema de este tipo, resultado de
capturar tus datos directamente sobre el archivo de texto plano, o de
editar quitando las comas (o los tabuladores, que a veces se usan en vez
de las comas para separar las columnas de datos). Para evitar estos
problemas yo prefiero capturar mis datos directamente sobre una hoja de
OpenOffice.org Calc, y exportarla como archivo .csv con los datos
separados por comas.
Espero te sea de utilidad.
Saludos.
--
Argel.
Más información sobre la lista de distribución R-help-es