У меня есть три вектора:
X, Y и Z.
X может быть списком или фреймом данных, каждая из которых будет содержать 156 переменных, представляющих время с конкатенацией 1 месяца 2002 годаи хранится как 20021. X представляет собой сводку всех месяцев между 20021 и 201812.
Y может быть представлен в виде списка или кадра данных, любая из которых будет содержать 49 000 переменных, представляющих время с конкатенацией 1 месяца 2002 года ихранится как 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) }