2013-10-07 12 views
24

Vorrei memorizzare il contenuto del mio frame di dati in un file .csv senza i nomi delle colonne. Io uso il seguente pezzo di codice,Scrive un frame di dati in un file csv senza intestazione di colonna in R

write.csv(cur_data,new_file, row.names = F, col.names=F) 

Il file risultante si presenta così,

"V1","V2" 
-0.02868862,5.442283e-11 
-0.03359281,7.669754e-12 
-0.03801883,-1.497323e-10 
-0.04320051,-6.557672e-11 

Tuttavia mi piacerebbe avere il file nel formato seguente,

-0.02868862,5.442283e-11 
-0.03359281,7.669754e-12 
-0.03801883,-1.497323e-10 
-0.04320051,-6.557672e-11 

Non capisco perché il parametro col.names nel codice non sia preso in considerazione

risposta

44

Non usare write.csv, utilizzare write.table

write.table(<yourdf>, sep=",", col.names=FALSE) 

Non è possibile modificare molte impostazioni in write.csv - gli argomenti sono solo lì come un promemoria per l'utente. Dalla documentazione:

Questi wrapper sono volutamente inflessibili: sono progettati per garantire che vengano utilizzate le convenzioni corrette per scrivere un file valido. I tentativi di modificare append, col.names, sep, dec o qmethod vengono ignorati

+0

Ho però bisogno di memorizzare i miei dati come file csv. Ho provato a usare col.names = False, ma come dici tu non rimuove il nome della colonna. C'è un altro modo per aggirare questo? – Amm

+1

Sì, funziona ora, grazie. Ho seguito i tuoi suggerimenti e il mio codice finale è simile a questo, write.table (my_df, filename, sep = ",", col.names = FALSE). – Amm

+1

non dimenticare il tuo argomento row.names –

Problemi correlati