[R-es] sobre fread {data.table}

Pedro Concejero Cerezo pedro.concejerocerezo en telefonica.com
Mar Sep 29 18:45:34 CEST 2015


No tiene cabecera. Tendrás que ponerle nombre a las variables
Prueba este código, yo leo 6821 obs. of  8 variables

library(data.table)
setwd("C:/Users/pedroc/Desktop/ADE-Corpus-V2") #Pon tu directorio trabajo
dat <- read.table(file = "DRUG-AE.rel",
                  sep = "|",
                  comment.char = "",
                  header = F,
                  quote = "")

str(dat)

datt <- data.table(dat)


El 29/09/2015 a las 17:31, Pedro Concejero Cerezo escribió:
Hola, M. Luz.
Hay infinidad de motivos por los que se te puede cortar la lectura de un archivo de datos, pero los más habituales son encontrar un "#" o unas "" en los registros, o una línea toda en blanco.
Lo primero yo creo que es dejar el archivo en texto plano (lo que te recomendaba Carlos de usar el original, no el docx), y buscar esos caracteres con un editor de texto plano tipo Notepad. Los puedes eliminar si no cumplen ninguna función.
Yo te recomiendo usar read.table que te permite configurar estos detalles. En concreto:

comment.char = ""  no te corta la lectura de fichero como si fuera un comentario, te lo añade a la cadena (eso si quieres usar el carácter, si no elimínalo)
quote = ""  lo mismo con la comilla como comienzo de una cadena

Pero verás que hay muchísimas más opciones que te evitan que se corte la lectura (blank lines, ...) o que te rellene con NA's si no encuentra todas las columnas del header (flush = TRUE).
Luego pasas a data.table con data.table(objeto_que_has_leido) y ya está.

read.table(file, header = FALSE, sep = "", quote = "\"'",
           dec = ".", numerals = c("allow.loss", "warn.loss", "no.loss"),
           row.names, col.names, as.is = !stringsAsFactors,
           na.strings = "NA", colClasses = NA, nrows = -1,
           skip = 0, check.names = TRUE, fill = !blank.lines.skip,
           strip.white = FALSE, blank.lines.skip = TRUE,
           comment.char = "#",
           allowEscapes = FALSE, flush = FALSE,
           stringsAsFactors = default.stringsAsFactors(),
           fileEncoding = "", encoding = "unknown", text, skipNul = FALSE)


Saludos,
Pedro

=============
En respuesta a:

------------------------------

Message: 2
Date: Tue, 29 Sep 2015 16:55:05 +0200
From: MªLuz Morales <mlzmrls en gmail.com><mailto:mlzmrls en gmail.com>
To: r-help-es <r-help-es en r-project.org><mailto:r-help-es en r-project.org>
Subject: [R-es] sobre fread {data.table}
Message-ID:
        <CANmAToM+sRRTfOBRYsrgoUdxdXVtrk21_E7LE0rrb8ENmMiBqQ en mail.gmail.com><mailto:CANmAToM+sRRTfOBRYsrgoUdxdXVtrk21_E7LE0rrb8ENmMiBqQ en mail.gmail.com>
Content-Type: text/plain; charset="UTF-8"

Buenas tardes,

intento almacenar el contenido de un archivo .docx en un data.table, pero
solo me devuelve 1855 filas cuando deberñian ser 6821.

Sin embargo, el mismo archivo se me descarga completo usando read_docx
{qdapTools}, pero este devuelve un vector carácter y no es lo que quiero.

¿Alguien sabe donde puede estar el problema?

Nota: El docx procede de un archivo .rel que descargué de internet, al cual
cambié la extensión por .doc y una vez abierto guardé como docx.

Gracias!!
Un saludo
MªLuz


--
Pedro Concejero
E-mail: pedro.concejerocerezo en telefonica.com<mailto:pedro.concejerocerezo en telefonica.com>
skype: pedro.concejero
twitter @ConcejeroPedro<https://twitter.com/ConcejeroPedro>
linkedin pedroconcejero<http://www.linkedin.com/in/pedroconcejero/es>
Entusiasta R, me encontraréis aquí gRupo R madRid <http://madrid.r-es.org/>


--
Pedro Concejero
E-mail: pedro.concejerocerezo en telefonica.com<mailto:pedro.concejerocerezo en telefonica.com>
skype: pedro.concejero
twitter @ConcejeroPedro<https://twitter.com/ConcejeroPedro>
linkedin pedroconcejero<http://www.linkedin.com/in/pedroconcejero/es>
Entusiasta R, me encontraréis aquí gRupo R madRid <http://madrid.r-es.org/>

________________________________

Este mensaje y sus adjuntos se dirigen exclusivamente a su destinatario, puede contener información privilegiada o confidencial y es para uso exclusivo de la persona o entidad de destino. Si no es usted. el destinatario indicado, queda notificado de que la lectura, utilización, divulgación y/o copia sin autorización puede estar prohibida en virtud de la legislación vigente. Si ha recibido este mensaje por error, le rogamos que nos lo comunique inmediatamente por esta misma vía y proceda a su destrucción.

The information contained in this transmission is privileged and confidential information intended only for the use of the individual or entity named above. If the reader of this message is not the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this transmission in error, do not read it. Please immediately reply to the sender that you have received this communication in error and then delete it.

Esta mensagem e seus anexos se dirigem exclusivamente ao seu destinatário, pode conter informação privilegiada ou confidencial e é para uso exclusivo da pessoa ou entidade de destino. Se não é vossa senhoria o destinatário indicado, fica notificado de que a leitura, utilização, divulgação e/ou cópia sem autorização pode estar proibida em virtude da legislação vigente. Se recebeu esta mensagem por erro, rogamos-lhe que nos o comunique imediatamente por esta mesma via e proceda a sua destruição

	[[alternative HTML version deleted]]



Más información sobre la lista de distribución R-help-es