Для каждого значения в столбце количество вхождений этого значения в другом столбце - PullRequest
0 голосов
/ 15 октября 2018

У меня есть простой, но большой фрейм данных (lateness_tbl), состоящий из трех столбцов (Days, Due_Date, End_Date).Мне нужно увидеть, сколько раз каждая Дата исполнения совпадает в дате окончания.В настоящее время я делаю что-то вроде этого:

x <- c()
for (i in 1:length(lateness_tbl$Due_Date){
    x[i] <- sum(lateness_tbl$Due_Date[i] == lateness_tbl$End_Date)}

Единственная проблема в том, что у меня есть более 2 миллионов записей для сравнения, и я ищу помощь сообщества, чтобы ускорить это.Любые советы, хитрости или исправления будут великолепны.Спасибо

1 Ответ

0 голосов
/ 15 октября 2018

Существует простое решение.Вы можете определить новый вектор для хранения различий между EndDate и DueDate, а затем подсчитать записи в этом векторе, которые равны нулю.

differences <- lateness_tbl$Due_Date - lateness_tbl$End_Date
length(which(differences == 0))

Если Due_date и End_Date являются данными (ине целые числа), вы можете использовать функцию difftime, как показано здесь и использовать ту же стратегию, указанную выше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...