匹配X对Y返回Z.

时间:2018-05-19 19:22:43

标签: r

我有三个向量:

X,Y和Z.

X可以是列表或数据框,其中任何一个都包含156个变量,表示2002年1月连接的时间并存储为20021. X是20021和201812之间所有月份的摘要。

Y可以表示为列表或数据框,其中任何一个都包含49,000个变量,表示2002年1月连接并存储为2006的时间.Y是源数据中的所有数据,主要是财务时间表。

Z包含在20021和201812之间经过的相反订单月数。

对于每个时间表条目(即Y),我希望能够返回自该时间表条目以来已经过了多少个月。我预先存在的逻辑是传递Y的每一行并将其与X进行比较,返回Z.应该永远不会有任何FALSE值。请告诉您创建函数的逻辑,该函数能够使用FOR标准。为了澄清,对于Y的每一行,我想与X进行比较并返回Z.

我已经尝试了以下内容:

创建包含格式正确的已清理源数据的概览表

Overview <- sqlQuery(upload_conn, "SELECT * FROM dbo.Overview") 

应用数据聚合的一列的子集

Subset <- (Overview$TS_TimeRate) 

创建数据聚合列表

list <- list(Overview$KEY1, Overview$ClientID, Overview$MatterID) 

数据聚合函数

Aggdata <- aggregate(Subset, by = list, FUN = sum, na.rm = TRUE) 

时间序列分析(将数据聚合的结果存储为数据帧)

TimeSeriesAnalysis1 <- (Aggdata)

就Stack OverFlow上的这个问题而言:

Key1 <- list(Overview$KEY1) 

Key1.1 <- data.frame(Key1) 

Key2 <- list(TimeMappingTable$Key) 

Key2.2 <- data.frame(Key2) 

for (i in 1:nrow(Key1.1)) { 
count <- date_difference_months(Key1.1,Key2.2)
} 

date_difference_months <- function(x, y) { return(x==y) }

0 个答案:

没有答案