Hallo Jani,
janedoe hat geschrieben: ↑Do Jul 27, 2017 11:54 amCode: Alles auswählen
for (phi in 45:60){
d <- dbGetQuery(con, 'SELECT datum, phi FROM data WHERE P = phi')}
Als Fehlermeldung bekomme ich, dass es phi nicht gibt.
Code: Alles auswählen
Fehler in rsqlite_send_query(conn@ptr, statement) : no such column: phi
das ist klar:
phi ist ein Objekt in der R-Umgebung. Deine Datenbank kennt es nicht. Wenn Du so etwas willst, dann muss es so sein:
Code: Alles auswählen
dbGetQuery(con, paste0('SELECT datum, P FROM data WHERE P = ', phi))
pder
Code: Alles auswählen
dbGetQuery(con, paste0('SELECT datum, P as phi FROM data WHERE P = ', phi))
oder
Code: Alles auswählen
dbGetQuery(con, paste0('SELECT datum, P phi FROM data WHERE P = ', phi))
(je nach SQL-Dialekt)
Anmerkung zum Algorithmus:
Du durchläufst die Schleife mit Werte 45, 46, ..., 60 für
phi
Bei jedem Mal wird
d überschrieben.
Nach Durchlaufen der Schleife ist in
d nur das letzte Ergebnis.
Das möchtest Du mit Sicherheit
nicht
Nun könnte man das mit
lapply() richtigstellen, aber in Deinem Fall solltest Du die SQL-Lösung verwenden:
... vielleicht kennt Deine Datenbank ein Konstrukt namens
BETWEEN ...
https://www.tutorialspoint.com/sqlite/s ... rators.htm
Gruß, Jörg