Rのデータフレームに毎日の気象情報を追加しようとしているので、df1 + df2 = df3が目立ちます。私はdf1の日付でdf2をサブセット化し、df2を折りたたんだりdf1でrbind.fillを作成するのは方法ですが、問題があります。行を列に変換して日付に結合する
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
助けてください。事前に感謝
明確ではない。行と列のデータは最終的にdf1上の –
の行に最初と最後の2つの日付があります。 df2では、各日はその日の天気です.df3(結果)は、df1の2つの日の各日の天気です。したがって、df3では、sun_day1は1日目(2014-06-01)の太陽の値、最後の日(2014-06-03)までの値です。 1つの列に他の行よりも多くの日がある場合は、NAで記入する必要があります。 –
は、おそらくT(DF)を使用して転置とマージ –