将数据帧与日期范围合并,以宽格式允许连续日期跟随开始日期直到结束日期,以R
我对R比较陌生,刚过一年,对一些基本的东西有点执着 我有一个数据框架,其中包括一些植物病害数据、开花日期(日期)和进行评估的城镇(df1)。此外,还有一些特定地区和感兴趣年份的天气数据。我想将df1中的开花日期与df2中的相应日期合并,直到df1中添加的结束日期,但要以宽幅格式进行合并,以便进行相关性分析 事实上,我有15个地方有自己独特的开花日期和4个疾病变量 下面我放置了一个数据样本,从中我了解了如何合并两个df将数据帧与日期范围合并,以宽格式允许连续日期跟随开始日期直到结束日期,以R,r,dataframe,merge,pivot,R,Dataframe,Merge,Pivot,我对R比较陌生,刚过一年,对一些基本的东西有点执着 我有一个数据框架,其中包括一些植物病害数据、开花日期(日期)和进行评估的城镇(df1)。此外,还有一些特定地区和感兴趣年份的天气数据。我想将df1中的开花日期与df2中的相应日期合并,直到df1中添加的结束日期,但要以宽幅格式进行合并,以便进行相关性分析 事实上,我有15个地方有自己独特的开花日期和4个疾病变量 下面我放置了一个数据样本,从中我了解了如何合并两个df library(dplyr) library(tidyr) fgsc <
library(dplyr)
library(tidyr)
fgsc <- runif(10, min = 4, max = 74) #amount of DNA measured
don <- runif(10, min = 0, max = 10) #amoung of mt measured
date <- ymd(rep("2007-01-10", 10, length = 10)) #flowering date of plant
town <- c("Dover") #locality of assessment
df1 <- data.frame(town, date, fgsc, don) %>%
mutate(end_date = date + 70) #adding end date
df2 <- daily.all %>%
select(town, date, yy, doy, tmn, tmx, rh, ppt) %>%
filter(town == "Dover",
yy == 2007) #weather data from locality for 2007 period
df3 <- df1 %>% full_join(df2) %>% #joining two dfs
pivot_wider(id_cols = c("town", "date", "fgsc", "don"),
names_from = doy,
values_from = c(tmx, tmn, rh, ppt),
names_glue = "{.value}_{doy}") #making df wide for correlations
head(df3)
town date fgsc don tmx_10 tmx_1 tmx_2 tmx_3
Dover 2007-01-10 30.528472 9.5728950 31.44 NA NA NA
Dover 2007-01-10 37.632146 0.1133579 31.44 NA NA NA
Dover 2007-01-10 8.680817 2.4340275 31.44 NA NA NA
Dover 2007-01-10 63.585375 2.9233743 31.44 NA NA NA
Dover 2007-01-10 57.910708 5.5582542 31.44 NA NA NA
Dover 2007-01-10 15.461667 6.6791987 31.44 NA NA NA
库(dplyr)
图书馆(tidyr)
fgsc