Ich lese gerade in einer Datei mit dem Paket readr
. Die Idee ist, read_delim
zu verwenden, um Reihe für Reihe zu lesen, um die maximalen Spalten in meiner unstrukturierten Datendatei zu finden. Der Code gibt aus, dass es parsing
Probleme gibt. Ich kenne das und werde nach dem Import mit dem Säulentyp umgehen. Gibt es eine Möglichkeit, die problems()
als die übliche options(warn)
auszuschalten ist nichtReader-Parse-Probleme in r unterdrücken
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)
Die Ausgabe an Konsole arbeiten, die ich versuche zu unterdrücken, ist folgendes:
.See problems(...) for more details.
Warning: 11 parsing failures.
row col expected actual
1 1####4 valid date 1###8
Ich habe das Gefühl, Sie sollten die Datei aus R vor dem Importieren reparieren. Vielleicht ist awk besser für die Aufgabe geeignet? – Tensibai
'suppressWarnings (x <- readr :: parse_integer (c (" 1X "," blah "," 3 "))) scheint zu funktionieren ... – cory
Wahrscheinlich besser, um eine' Datei'-Verbindung zu öffnen, lesen Sie die Datei ein Linie auf einmal und zählen Sie die Separatoren? 'max (sapply (readLines (" file.txt "), funktion (x) {length (strsplit (x," \ t ") [[1]])})) – Spacedman