R提取数据框列表中的匹配日期

时间:2019-10-09 13:54:46

标签: r list loops date

我有2个数据框列表。一个包含一整年的数据框(complete_list),一个仅包含10天选择的数据框(split_list)。

for (a in 1:32) {
  nam <- paste("date_list", a, sep = "")
  assign(nam, data.frame(Date = sample(seq(ymd('2000-01-01'),ymd('2000-12-31'),by='day'),10)))
}

split_list <- mget(ls(pattern="date_list"))
names(split_list) = paste(paste(rep(c("AB", "CD","EF","GH"), each = 2, length(32)), seq(1:8), sep = "_"), sprintf("V%s",seq(1:32)), sep = "_")


library(lubridate)
df1 = data.frame(replicate(4,sample(0:130,366,rep=TRUE)))
df1$complete =  seq(ymd('2000-01-01'),ymd('2000-12-31'),by='day')
df2 = data.frame(replicate(4,sample(0:130,366,rep=TRUE)))
df2$complete =  seq(ymd('2000-01-01'),ymd('2000-12-31'),by='day')
df3 = data.frame(replicate(4,sample(0:130,366,rep=TRUE)))
df3$complete =  seq(ymd('2000-01-01'),ymd('2000-12-31'),by='day')
df4 = data.frame(replicate(4,sample(0:130,366,rep=TRUE)))
df4$complete =  seq(ymd('2000-01-01'),ymd('2000-12-31'),by='day')
complete_list = list(df1, df2, df3, df4)
names(complete_list) = c("AB", "CD", "EF", "GH")

我现在要提取split_list中complete_list的日期和数据。这应该以一种特殊的方式发生。 complete_list中的4个数据框称为“ AB”,“ CD”,“ EF”,“ GH”,我想将这些数据框与split_list包含相同字母的数据框进行匹配。我为每个字母创建了列表条目的序列。我不想按名称来选择它们,因为在我的实际数据框中,名称更加复杂。所以我更喜欢选择他们而不是他们的位置。

这是我走了多远:

sample_AB = c(1,2,9,10,17,18,25,26)
sample_CD = sample_AB + 1
sample_EF = sample_AB + 2
sample_GH = sample_AB + 3

我知道我可以手动提取它:

picked_AB_1 = complete_list$AB[complete_list$AB$Date %in% split_list$AB_1_V1$Date,]

我试图用sample_AB作为运行变量进行循环,但是我没有走得很远。我也想将结果存储在列表中。

0 个答案:

没有答案