У меня довольно большой набор данных (35 переменных и 65 000 строк), и я хотел бы разбить его на три в отношении конкретных дат. У меня есть информация о животных до и после операции. В настоящее время я использую пакет dplyr
. Ниже я представляю, как выглядит мой набор данных, просто приведу пример, потому что при использовании в моем наборе данных dput
я получаю нечто действительно большое и нечитаемое. Как и в примере, у меня есть несколько дат, в которые измерения проводились для человека. Информация о человеке заполняется до даты операции, которая является уникальной для каждого человека. Что касается примера измерений, которые проводились в течение нескольких лет.
Name Date Measurement Surgery_date
Pierre 2016-03-15 5.12 2017-03-21
Pierre 2017-03-16 4.16 2017-03-21
Pierre 2017-08-09 5.08 2017-03-21
Paul 2016-07-03 5.47 2017-03-25
Paul 2016-09-30 4.98 2017-03-25
Paul 2017-04-12 4.51 2017-03-25
На данный момент мне не помешало иметь формат даты для дат измерения и для дат операции, используя пакет lubridate
. Затем я попытался, используя пакет dplyr
для сортировки моих данных. Я пробовал filter
и select
, но ни один из них не дал ожидаемых результатов.
data1$Date <- parse_date_time(data1$Date, "d/m/y")
data1$Date <- ymd(data1$Date)
data1$Surgery_date <- parse_date_time(data1$Surgery_date, "d/m/y")
data1$Surgery_date <- ymd(data1$Surgery_date)
before_surgery <- data1
before_surgery <- dplyr::as_tibble(before_surgery)
before_surgery <- before_surgery %>%
filter(Date > Surgery_date)
before_surgery <- before_surgery %>%
select(Date < Surgery_date)
В любом случае ни одна строка не удаляется. Когда я пытаюсь (по тем же значениям) получить даты после операции, строка фактически не выбирается.
Я проверил свой файл, чтобы убедиться, что на самом деле есть даты после и до даты операции (если бы этот результат не был нормальным), и я могу подтвердить, что в наборе данных есть два вида дат.
Я только что привел здесь пример дат до операции, предполагая, что он работает по той же схеме, что и даты после операции.
Заранее благодарю тех, кто найдет время, чтобы прочитать меня. Извините, если вопрос очень похож на другие, но я не смог найти решение самостоятельно ...
РЕДАКТИРОВАТЬ: Чтобы быть более точным, конечная цель - иметь три отдельных набора данных. Первый будет охватывать все меры, принятые до операции , второй день дня Сама операция + 5 дней (но я постараюсь справиться с последним), а третий будет охватывать мер, предпринятых после операции.