R 迭代地将数据集的每一行与第二个数据集的所有行进行匹配

R 迭代地将数据集的每一行与第二个数据集的所有行进行匹配,r,loops,debugging,apply,tidyverse,R,Loops,Debugging,Apply,Tidyverse,我有两个数据集,分别命名为E和eF E<-dput(A%>%head(n=6) %>% select(Inception_Date,Name)) structure(list(Inception_Date = structure(c(962323200, 962323200, 810950400, 988675200, 1042502400, 1536624000), tzone = "UTC", class = c("POS

我有两个数据集,分别命名为E和eF

E<-dput(A%>%head(n=6) %>% select(Inception_Date,Name))        
structure(list(Inception_Date = structure(c(962323200, 962323200, 
810950400, 988675200, 1042502400, 1536624000), tzone = "UTC", class =  
c("POSIXct","POSIXt")), Name = c("Calvert Social Index B", "Calvert US   
Large Cap Core Rspnb Idx A", "Green Century Equity Individual 
Investor", "Praxis Value Index A", "Vanguard FTSE Social Index I", 
"Amundi IS Amundi MSCI USA SRI ETF DR")), row.names = c(NA, -6L), 
class = c("tbl_df", "tbl", "data.frame"
))

eF<-dput(B%>%head(n=8) %>% select(Inception_Date,Name))
structure(list(Inception_Date = structure(c(760233600, 519868800, 
1380067200, 1101772800, 1325203200, 628473600, 1325203200, 1123804800
), tzone = "UTC", class = c("POSIXct", "POSIXt")), Name = c("Amana     
Growth Investor", "Amana Income Investor", "Amana Income   
Institutional", "American Century Sustainable Equity A", 
"Ariel Appreciation Institutional", "Ariel Appreciation Investor", 
"Ariel Focus Institutional", "Baywood Socially Responsible Invs"
)), row.names = c(NA, -8L), class = c("tbl_df", "tbl", "data.frame"
))
E%head(n=6)%%>%select(起始日期、名称))
结构(列表)(起始日期=结构)(c)(962323200,962323200,,
81095040098867520010425024001536624000),tzone=“UTC”,等级=
c(“POSIXct”,“POSIXt”)),Name=c(“卡尔弗特社会指数B”,“卡尔弗特美国”)
大盘股核心Rspnb Idx A,“绿色世纪股权个人
“投资者”、“Praxis价值指数A”、“先锋富时社会指数I”,
“阿蒙迪是阿蒙迪摩根士丹利资本国际美国SRI ETF DR”)),row.NAME=c(NA,-6L),
class=c(“待决条件”,“待决条件”,“数据帧”
))
eF%头(n=8)%>%选择(起始日期、名称))
结构(开始日期=结构(760233600519868800,
1380067200, 1101772800, 1325203200, 628473600, 1325203200, 1123804800
),tzone=“UTC”,class=c(“POSIXct”,“POSIXt”)),Name=c(“Amana
成长型投资者、“Amana收入投资者”、“Amana收入投资者”
机构“,“美国世纪可持续公平A”,
“阿里尔增值机构”、“阿里尔增值投资者”,
“Ariel Focus机构”、“Baywood社会责任投资公司”
)),row.names=c(NA,-8L),class=c(“tbl_-df”,“tbl”,“data.frame”
))
我需要将eF的每个起始日期减去E的第一个起始日期,如果日期之间的差异在-1500天和+1500天之间,例如,如果日期之间的差异在+1500天和-1500天之间,我将选择它们,并为日期满足条件的数据创建一个数据集

但是我需要将eF的每个日期减去E的第二个日期,然后使用相同的标准根据相同的标准进行选择,然后创建一个新文件

然后,我需要用E的第三、第四个日期等减去每个eF数,然后根据相同的标准匹配、选择它们

我应该有8个输出.csv文件

我用了下面的代码,你能帮我调试一下吗

for (k in 1:nrow(E)) {
F_temp <- eF;
G_temp <- F_temp %>% filter(abs(F_temp$Inception_Date-    
E$Inception_Date[k]) <= 1500);
print(G_temp)}
for(i in 1:nrow(G_temp)){
write.csv(G_temp, paste0("test", i, ".csv"), row.names = TRUE)
}
for(k/1:nrow(E)){

所以,我想你想要的是:


A那么,我想你想要的是:


A您介意分享一些数据吗?这样我们可以重现错误,更容易帮助您。如何发送excel文件?谢谢!@yannik suhre我不知道如何发送excel文件。但是如果文件A中有5个日期,文件B中有5个日期,每次我都需要找到文件B中所有日期与文件A中一行的差异。然后我需要d所有行的日期与第二、第三、第四行的日期之差,迭代。只需执行
dput(头(A))
并将控制台中的数据添加到您的问题中。请使用
dput添加数据,并显示相同的预期输出。请阅读有关的信息以及如何给出答案。您介意共享一些数据吗?这样我们可以重现错误,更容易帮助您。如何发送excel文件?谢谢!@yannik SuhreI不知道如何发送发送excel文件。但如果文件A中有5个日期,文件B中有5个日期,每次我都需要找到文件B中所有日期与文件A中某一行的差异。然后我需要迭代地找到所有行与第二、第三、第四行的日期差异。只需执行
dput(head(A))
并将控制台中的数据添加到您的问题中。请使用
dput添加数据,并显示相同的预期输出。请阅读有关的信息以及如何给出答案。我不知道是否有聊天功能,但请继续。但是,如果您有任何进一步的问题,请更新您的问题。并且,请接受我的回答r如果它对你有帮助!;)嗨,Yannik,我已经修改了我的问题,使之更具体。谢谢@Yannik Suhre我不知道是否有聊天功能,但请继续。但是,如果你还有任何问题,请更新你的问题。如果它对你有帮助,请接受我的回答!;)嗨,Yannik,我已经修改了我的问题,使之更具体ank you@Yannik Suhre