Ich möchte dem Vektor df$lamp_intensity
einen Wert zuweisen, der von einem bestimmten Zeitintervall innerhalb von df$date
abhängt. Wenn eine bestimmte Beobachtung außerhalb dieses Intervalls liegt, möchte ich einen NA
zuweisen. Sobald ich dieses erste Bit Code funktioniert, plane ich verschachteln eine Reihe von ifelse()
Anweisungen, um mehrere Zeitintervalle zu behandeln. Ich denke, ich bin ziemlich nah dran, aber ich könnte definitiv eine Hand benutzen.Verwenden einer ifelse() -Anweisung für Datetime-Beobachtungen innerhalb eines bestimmten Intervalls
Vielen Dank!
Hier ist meine Daten:
df <- structure(list(date = structure(c(1504787028, 1504787030, 1504787031, 1504787032, 1504787033, 1504787034, 1504787035, 1504787036, 1504787037, 1504787038), class = c("POSIXct", "POSIXt"), tzone = "UTC"), ppm = c(0.0009765625, 0.0009765625, 0.0009765625, 0.0009765625, 0.0009765625, 0.0009765625, 0.0009765625, 0.0009765625, 0.0009765625, 0.00146484375)), .Names = c("date", "ppm"), row.names = c(NA, -10L), class = c("tbl_df", "tbl", "data.frame"))
df$lamp_intensity <- ifelse(df$date >= as.POSIXct("2017-09-07 12:23:51",
format = "%Y-%m-%d %H:%M:%S", tz = "UTC") && ## using '&' generates an error message
date <= as.POSIXct("2017-09-07 12:23:55",
format = "%Y-%m-%d %H:%M:%S", tz = "UTC"), 0, NA)
head(df, 10)
Die Lösung 0
für df$lamp_intensity
Reihen zuordnen würde zwischen 2017-09-07 12:23:51
und 2017-09-07 12:23:55
'date <= as.POSIXct ("2017.09.07 12.23.55"' 'sollte df $ date sein <= as.POSIXct (" 2017.09.07 00.23.55 "'. Deshalb erhalten Sie den Fehler mit '&'. – eipi10