2011-10-12 12 views
32

Sono nuovo utilizzando R. Sto cercando di aggiungere nuove righe a un file con i miei dati esistenti in R. Il problema è che i miei dati sono di circa 30000 righe e 13000 colonne. Ho già provato ad aggiungere una riga con la funzione writeLines ma il file risultante contiene solo la riga aggiunta.Aggiungere righe a un file

+0

Eventuali duplicati di [righe di scrittura di testo in un file in R] (http://stackoverflow.com/questions/2470248/write-lines-of-text-to -a-file-in-r) –

+1

@MichaelOhlrogge Sei sicuro che questo è un dupe? Il Q [Scrivi linee di testo in un file in R] (http://stackoverflow.com/q/2470248/3817004) a cui ti sei collegato riguarda la scrittura di linee in un file in generale mentre questo Q chiede specificamente di _appending_ lines a un file esistente. – Uwe

+0

@UweBlock Vero, ma il Q collegato discute l'opzione di aggiunta in molte delle sue risposte. –

risposta

58

Hai provato a utilizzare la funzione write?

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

assicurati di non usare una connessione come file, ma semplicemente inserisci il percorso del file, altrimenti append non funzionerà! – Ansjovis86

+0

@ Ansjovis86 potresti approfondire un po 'la "connessione come file"? – munmunbb

+0

@munmunbb Questo è solo quando si utilizza un'impostazione di connessione. Se non ce l'hai, non preoccuparti. Se ce l'hai, lasciala dal tuo codice e questa risposta funzionerà. – Ansjovis86

26

write.table, write.csv e altri tutti hanno l'argomento append=, che aggiunge append=TRUE e di solito sovrascrive se append=FALSE. Quindi, quale vuoi/devi usare, dipende dai tuoi dati.

A proposito, cat() può anche essere utilizzato per scrivere testo in un file e ha anche l'argomento append=.

+4

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

+4

'cat' vince Penso – 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) 
Problemi correlati