Сначала немного контекста: я работаю с набором данных, который включает данные, связанные со здоровьем.Он включает в себя результаты анкетирования до и после лечения.Однако некоторые клиенты вновь появляются в данных для дальнейшего лечения.Я предоставил фиктивный пример данных в разделе кода.
Я попытался найти решение для dplyr, так как это пакет, с которым я больше всего знаком, но я не достиг того, чтоЯ хотел
#Example/mock data
ClientNumber<-c("4355", "2231", "8894", "9002", "4355", "2231", "8894", "9002", "4355", "2231")
Pre_Post<-c(1,1,1,1,2,2,2,2,1,1)
QuestionnaireScore<-c(62,76,88,56,22,30, 35,40,70,71)
df<-data.frame(ClientNumber, Pre_Post, QuestionnaireScore)
df$ClientNumber<-as.character(df$ClientNumber)
df$Pre_Post<-as.factor(df$Pre_Post)
View(df)
#tried solution
df2<-df%>%
group_by(ClientNumber)%>%
filter( Pre_Post==1|Pre_Post==2)
#this doesn't work, or needs more code to it
Как видите, первые четыре номера клиентов имеют оценку до и после лечения.Это хорошо.Однако в конце снова появляются номера клиентов 4355 и 2231 (можно сказать, что они рецидивировали и начали новое лечение).Эти два клиента не имеют баллов после лечения.
Я хочу анализировать только клиентов, у которых есть предварительный и последующий балл, поэтому мне нужно отфильтровать клиентов, которые завершили лечение, исключая тех, у кого нет балла после лечения, если они появились вданные снова.Что касается приведенного мною примера, я хочу включить первые 8 для анализа, исключая последние два, так как они не имеют баллов после лечения.