2011-10-12 11 views
32

Soy nuevo usando R. Estoy tratando de agregar nuevas líneas a un archivo con mis datos existentes en R. El problema es que mis datos son de aproximadamente 30000 filas y 13000 columnas. Ya trato de agregar una línea con la función writeLines, pero el archivo resultante contiene solo la línea agregada.Agregar líneas a un archivo

+0

duplicado posible de [líneas de escritura de texto en un archivo en I] (http://stackoverflow.com/questions/2470248/write-lines-of-text-to -a-file-in-r) –

+1

@MichaelOhlrogge ¿Estás seguro de que es una estafa? La Q [Escribir líneas de texto en un archivo en R] (http://stackoverflow.com/q/2470248/3817004) a la que se ha vinculado se trata de escribir líneas en un archivo en general, mientras que esta Q pregunta específicamente sobre _apuestar_ líneas para un archivo existente. – Uwe

+0

@UweBlock Es cierto, pero la Q vinculada analiza la opción de agregar en muchas de sus respuestas. –

Respuesta

58

¿Ha intentado utilizar la función write?

line="blah text blah blah etc etc" 
write(line,file="myfile",append=TRUE) 
+3

asegúrate de no utilizar una conexión como archivo, pero solo ponlo en la ruta del archivo, de lo contrario, ¡añadir no funcionará! – Ansjovis86

+0

@ Ansjovis86 ¿podría por favor elaborar un poco más sobre "conexión como archivo"? – munmunbb

+0

@munmunbb Esto es solo cuando usa una configuración de conexión. Si no lo tienes, no te preocupes. Si lo tiene, elimínelo de su código y esta respuesta funcionará. – Ansjovis86

26

write.table, write.csv y otros, todos tienen el argumento append=, que añade append=TRUE y por lo general sobrescribe si append=FALSE. Entonces, cuál quiere/debe usar, depende de sus datos. Por supuesto, cat() también se puede usar para escribir texto en un archivo y también tiene el argumento append=.

+4

O incluso 'sink (append = TRUE)'. –

+4

'gato' gana Creo – geotheory

0
lapply(listOfVector, function(anyNameofVect){ write(anyNameofVect, file="outputFileName", sep="\t", append=TRUE, ncolumns=100000) }) 

o

lapply(listOfVector, write, file="outputFileName", sep="\t", append=TRUE, ncolumns=100000) 
Cuestiones relacionadas