Ich versuche tägliche Wetterinformationen zu einem Datenrahmen auf R hinzuzufügen, also ist df1 + df2 = df3 das Ziel. Ich denke, dass das Unterteilen von df2 nach Daten auf df1, kollabieren df2 und rbind.fill sie mit df1 wäre der Weg, aber ich habe Probleme.Zeilen in Spalten umwandeln und nach Datum verbinden
date2 <- c('2014-06-03','2017-05-20')
date <- c('2014-06-01','2017-05-15')
df1 <- data.frame(date,date2)
date
#> df1
# date date2
#1 2014-06-01 2014-06-03
#2 2017-05-15 2017-05-20
date3 <- c('2014-06-01','2014-06-02','2014-06-03','2017-05-15','2017-05-16','2017-05-17','2017-05-18','2017-05-19','2017-05-20')
rain <- c(3, 4, 3, 5, 5, 6, 7, 6 ,6)
sun <- c ( 10,10,10, 15,15,15,16,15,15)
df2 <- data.frame(date3,rain,sun)
#> df2
# date3 rain sun
#1 2014-06-01 3 10
#2 2014-06-02 4 10
#3 2014-06-03 3 10
#4 2017-05-15 5 15
#5 2017-05-16 5 15
#6 2017-05-17 6 15
#7 2017-05-18 7 16
#8 2017-05-19 6 15
#9 2017-05-20 6 15
rain_day1 <- c(3,5)
rain_day2 <- c(4,5)
rain_day3 <- c(3,6)
rain_day4 <- c(NA,7)
rain_day5 <- c(NA,6)
rain_day6 <- c(NA,6)
sun_day1 <- c(10,15)
sun_day2 <- c(10,15)
sun_day3 <- c(10,15)
sun_day4 <- c(NA,15)
sun_day5 <- c(NA,16)
sun_day6 <- c(NA,15)
date5 <- c('2014-06-03','2017-05-20')
date4 <- c('2014-06-01','2017-05-15')
df3 <- data.frame(date4,date5,rain_day1,sun_day1,rain_day2,sun_day2,rain_day3,sun_day3,rain_day4,sun_day4,rain_day5,sun_day5,rain_day6,sun_day6)
#> df3
# date4 date5 rain_day1 sun_day1 rain_day2 sun_day2 rain_day3 sun_day3 rain_day4 sun_day4
#1 2014-06-01 2014-06-03 3 10 4 10 3 10 NA NA
#2 2017-05-15 2017-05-20 5 15 5 15 6 15 7 15
# rain_day5 sun_day5 rain_day6 sun_day6
#1 NA NA NA NA
#2 6 16 6 15
Jede Hilfe wäre willkommen. Vielen Dank im Voraus
nicht klar. Was sind die Daten in Zeilen und in Spalten schließlich –
auf DF1 eine Zeile haben zwei Daten ein Anfangs- und ein Enddatum. Auf df2 ist jedes Datum das Wetter an diesem Tag, auf df3 (das Ergebnis) ist das Wetter an jedem Tag für die zwei Daten von df1. So ist sun_day1 in df3 der Wert für sun an Tag 1 (2014-06-01) und so weiter bis zum letzten Tag (2014-06-03). Wenn es in einer Reihe mehr Tage als eine andere gibt, sollte es mit NA gefüllt werden. –
wahrscheinlich unter Verwendung von t (df) umsetzen und verbinden einen Merge –