Ho un set di dati ASCII composto da tre colonne, ma solo gli ultimi due sono dati effettivi. Ora voglio creare un diagramma a punti dei dati utilizzando read.csv(file = "result1", sep= " "). R legge tutte e tre le colonne. Come evito questo?
Ho un set di dati ASCII composto da tre colonne, ma solo gli ultimi due sono dati effettivi. Ora voglio creare un diagramma a punti dei dati utilizzando read.csv(file = "result1", sep= " "). R legge tutte e tre le colonne. Come evito questo?
Risposte:
È possibile utilizzare l' colClassesargomento read.csvper selezionare le colonne desiderate. In questo caso, è possibile impostare colClassessuc("NULL", NA, NA)
read.csv(file="result1", sep=" ", colClasses=c("NULL", NA, NA))
Più in generale, è possibile utilizzare colClasses per specificare i tipi particolari di colonne; NAsignifica utilizzare l'approccio predefinito che è quello di provare a capire quale sia automaticamente la colonna. Vedi la pagina di aiuto read.csvper maggiori dettagli.
Un'altra opzione è leggere l'intero file, ma mantenere solo due delle colonne, ad esempio:
read.csv(file = "result1", sep = " ")[ ,1:2]
oppure, usando i nomi delle colonne, ad es. se le colonne sono denominate "col1, col2, col3"
read.csv(file = "result1", sep = " ")[ ,c('col1', 'col2')]
Questo richiede meno tempo rispetto alle risposte fornite
library(data.table)
fread(file="result1", sep=" ", colClasses=c("NULL", NA, NA))