【发布时间】:2020-12-18 09:24:38
【问题描述】:
我有两个数据集,分别命名为 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"
))
如果日期之间的差异在 -1500 天和 +1500 天之间,例如,如果日期差异在 + 或 - 1500 之间,我需要将 eF 的每个初始日期减去 E 的第一个初始日期天,我将选择它们,并为满足条件的日期数据制作一个数据集。
但是我需要然后将eF的每个日期减去E的第二个日期,并使用相同的标准根据相同的标准进行选择,然后创建一个新文件。
然后我需要在 E 的第 3、4 个日期等之前减去每个 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)
}
谢谢!
【问题讨论】:
-
您介意分享一些数据吗?然后我们可以重现错误,更容易为您提供帮助。
-
如何发送excel文件?谢谢! @yannik Suhre
-
我不知道如何发送 excel 文件。但是如果我们在文件 A 中有 5 个日期,在文件 B 中有 5 个日期,每次我需要找到文件 B 中的所有日期与文件 A 中的一行的差异。然后我需要找到所有行的日期差异第二,第三,第四行,迭代。
-
只需执行
dput(head(A))并将控制台中的数据添加到您的问题中。 -
请使用
dput添加数据并显示相同的预期输出。请阅读有关how to ask a good question 的信息以及如何提供reproducible example。
标签: r loops debugging apply tidyverse