Hallo zusammen,
wieder mal ist Sonntag und wieder mal stehe ich vor R Problemen
Ich habe unterschiedliche Messwerte, welche in einer Datenbank abgelegt sind. Diese habe ich bereits ein- bzw. auch ausgelesen.
Code: Alles auswählen
library(RSQLite)
m <- dbDriver("SQLite")
con <- dbConnect(m, dbname = "daten_datum.sqlite")
alltables <- dbListTables(con)
alltables
my2num <- function(x) as.numeric(sub(",", ".", x)) #in Zahlen umwandeln
messdaten <- dbGetQuery(con, 'SELECT * FROM data') # alle Daten einlesen
messdaten[] <- lapply(messdaten, my2num)
#Daten einschränken
daten_ort <- subset(messdaten, p >= 48 & p <= 53 & l >= 10 & l <= 16)
Die Messdaten sind in der Auflösung von einer Minute mit dem Zeitstempel yyyymmddhhmm (201101071214, 201101071215 ...). Allerdings soll ich nicht gesamten Messdaten auswerten, sondern nur für bestimmte Tage, also zB. für den 14.01, 15.01, 21.02, 23.05. Aus diesen Tagen berechnet ich dann den Median von beispielsweise den Wind-Daten an den bestimmten Orten (p & l).
Zuerst habe ich es so probiert zum Einlesen
Code: Alles auswählen
messdaten_datum <- dbGetQuery(con, 'SELECT * FROM data
WHERE "Datum" = 20110113
OR "Datum" = 20110315
OR "Datum" = 20110316
OR "Datum" = 20110322
... ')
Das funktioniert leider nicht, da ja mein (Tages)-Datum fortlaufend abgespeichert ist, und wenn möglich, möchte ich nicht alle Werte bis zur Minute händisch eingeben. Nun meine Frage gibt es eine Möglichkeit den ersten Teil des Datums (also yymmdd) zu fixieren und dann die hh und min durchlaufen zu lassen, damit ich den gesamten Tag einlesen kann? Benötige ich dazu eine for-Schleife bzw. mehrer for-Schleifen (weil ich ja mehrere Tage einlese). Das Datum ist in meiner Datei zuerst als CHR abgespeichert, wandle ich aber im obigen Code in NUM um. Ich hoffe, ich habe meine Problem einigermaßen verständlich erklärt und würde mich freuen, wenn mir vielleicht jemand weiterhelfen könnte.
Vielen Dank schon mal und glg
J