Ich bin ein Anfänger in R und ich möchte die Durchschnittstemperatur über einen bestimmten Zeitraum berechnen. Ich habe zwei Datensätze:Berechnen Sie die Durchschnittstemperatur (abgeleitet von anderen Datensätzen) über Anfangs- und Enddatum in der gleichen Zeile
Datensatz mit dem Startdatum (date_fixed) und Enddatum (date_broken)
ds <- data.frame( date_fixed= c("16-3-2015", "19-3-2015"), date_broken = c("18-3-2015", "22-3-2015")) ds$date_broken <- dmy(ds$date_broken) ds$date_fixed <- dmy(ds$date_fixed)
Datensatz mit der Temperatur pro Tag:
weather <- data.frame(date = c("16-3-2015", "17-3-2015", "18-3-2015", "19-3-2015", "20-3-2015", "21-3-2015"), temperature = c("10", "11", "12", "11", "12", "11")) weather$date <- dmy(weather$date)
Meine gewünschte Ausgabe würde so aussehen (Es tut mir leid, ich kann nicht herausfinden, wie man es zu einem schönen Tisch macht)
date_fixed date_broken average_temperature
2015-03-16 2015-03-18 11
2015-03-19 2015-03-22 11,3
Vielen Dank im Voraus!
Danke! Jetzt habe ich auch andere Spalten, die ich nicht in dem oben genannten Beispiel zur Verfügung gestellt habe. Diese Spalten enthalten Informationen zu den Standorten in 'ds' und 'weather'. Ich möchte den avg_temp nur berechnen, wenn diese Standorte genau gleich sind, ist es möglich, eine solche Bedingung zu Ihrer Lösung hinzuzufügen? Danke :) – Mini
Hallo @Nena. Sie müssen eine Aggregation (group_by Art der Sache) machen.Wenn Sie mir Daten zur Verfügung stellen, werde ich meine Lösung aktualisieren. – Sotos
ds <- data.frame (datum_fixed = c ("16-3-2015", "19-3-2015", "21-3-2015"), date_broken = c ("18-3-2015", (22-3-2015, 24-3-2015), Ort = c (A, B, B), Position = c (1, 2, 2))) -AND- wetter <- data.frame (datum = c ("16-3-2015", "17-3-2015", "18-3-2015", "19-3-2015" , "20-3-2015", "21-3-2015", "22-3-2015", "23-3-2015", "24-3-2015"), Temperatur = c ("10" , 11, 12, 11, 12, 11, 13, 14, 12), location = c (A, B, B) , position = c ("1", "2", "2")) – Mini