Kombination I heruntergeladenen Daten aus dem Internet. Ich wollte die Daten extrahieren und einen Datenrahmen erstellen. Sie finden die Daten im folgenden Link für den gefilterten Datensatz: http://www.esrl.noaa.gov/gmd/dv/data/index.php?category=Ozone&type=Balloon. Am unteren Ende der Seite können Sie aus den 9 gefilterten Datensätzen einen beliebigen Sender auswählen. Sag Suva, Fidschi (SUV):Daten aus Textdatei lesen und es mit Datum in r
Ich habe den folgenden Code geschrieben, um einen Datenrahmen zu erstellen, der Launch-Datum als Teil des Datenrahmens für jede Datei hat.
setwd("C:/Users/")
path = "~C:/Users/"
files <- lapply(list.files(pattern = '\\.l100'), readLines)
test.sample<-do.call(rbind, lapply(files, function(lines){
data.frame(datetime = as.POSIXct(sub('^.*Launch Date : ', '', lines[grep('Launch Date :', lines)])),
# and the data, read in as text
read.table(text = lines[(grep('Sonde Total', lines) + 1):length(lines)]))
}))
Die Dateien stammen vom FTP-Server. Das Muster der Datei kommt mir nicht bekannt vor, obwohl ich es mit .txt
versucht habe, es hat nicht funktioniert. Können Sie den obigen Code oder einen anderen Code optimieren, um einen Datenrahmen zu erhalten?
Vielen Dank im Voraus.
Ihr Ansatz sieht OK aus, aber ich verstehe nicht, was nicht funktioniert. Ist es einfach, dass das Format für das Datum nicht genau das ist, was asPOSIXct erwartet. Versuchen Sie 'lubridate :: dmy()' –
@Richard Telford. Danke für den Hinweis. Ich habe es mit POSITXlt und lubridate versucht, aber es scheint nicht für mich zu funktionieren. Können Sie bitte von der Website überprüfen? Es gibt mir eine harte Zeit. – G1124E
Zumindest in der Datei, die ich geöffnet habe, gibt es mehr als ein Leerzeichen zwischen "Startdatum" und ":". 'grep' erkennt die Suchzeichenfolge nicht und nicht' sub'. Sie können einen regulären Ausdruck verwenden, um mit beliebig vielen Leerzeichen umzugehen. Der Code ist sehr knapp - nicht immer eine gute Sache! –