Attualmente sto leggendo in un file utilizzando il pacchetto readr
. L'idea è di usare read_delim
per leggere in fila per riga per trovare le colonne massime nel mio file di dati non strutturati. Il codice restituisce che ci sono problemi parsing
. Conosco questi e tratterò del tipo di colonna dopo l'importazione. C'è un modo per spegnere il problems()
come il solito options(warn)
non funzionaElimina problemi di analisi del lettore in
i=1
max_col <- 0
options(warn = -1)
while(i != "stop")
{
n_col<- ncol(read_delim("file.txt", n_max = 1, skip = i, delim="\t"))
if(n_col > max_col) {
max_col <- n_col
print(max_col)
}
i <- i+1
if(n_col==0) i<-"stop"
}
options(warn = 0)
L'uscita per console che sto cercando di sopprimere è il seguente:
.See problems(...) for more details.
Warning: 11 parsing failures.
row col expected actual
1 1####4 valid date 1###8
Ho la sensazione che dovresti correggere il file da R prima di importarlo. Forse awk è più adatto per il compito? – Tensibai
'suppressWarnings (x <- readr :: parse_integer (c (" 1X "," blah "," 3 "))) sembra funzionare ... – cory
Probabilmente è meglio aprire una connessione' file', leggere il file a linea alla volta e contare i separatori? 'Max (sapply (readlines ("file.txt"), la funzione (x) {lunghezza (strsplit (x, "\ t") [[1]])}))' – Spacedman