У меня большой набор данных о встречах с пациентами (~ 6 миллионов).Каждый пациент может иметь несколько записей каждый год в течение нескольких лет.Я хотел бы иметь возможность распределить пациентов по годам, а затем подсчитать их так, чтобы я мог отфильтровать все, кроме одного года, для каждого пациента, чтобы я мог посмотреть на каждого пациента в течение первого года в конкретном плане здравоохранения.
Я могу ранжировать и отфильтровывать первую запись для каждого пациента, однако я подумал, что мне придется создать новый фрейм df и подмножество исходных данных на основе двух столбцов, сгенерированных в моем новом фрейме данных, с использованием% in%.Вот где у меня проблемы.
Несмотря на то, что я часто использую переполнение стека для поиска решений своих вопросов, я обычно не пишу, поэтому терпите меня, если я делаю это неправильно.
enrolid<- c(223801,223801, 223801, 223801, 223801, 223803, 223803, 223804)
year<- c(2008, 2008, 2009, 2010, 2011, 2008, 2011, 2008)
service<- c( "CT", "Colonoscopy", "labs", "office_visit", "med", "office_vist", "hospitalization", "CT")
#But for 6 million enounters. I want to me extract the enrolid and first #year for each individual in my data set.
df1<-data.frame(enrolid, year, service)
df2<- df1 %>%
group_by(enrolid) %>%
filter(rank(year, ties.method="first")==1) %>%
mutate(enrollment_year_num = 1) %>%
select(enrolid, year)`
df1 %>%
filter_all(any_vars(. %in% df2)) #tried with df2$enrolid & df2year
Thnaks!