Je travaille sur les données des réclamations qui ressemble le format ci-dessous: -R - Comment intégrer s'il y en a dans dplyr?
claim mem_number year_month label
1 123 2011-Jan Clinic
2 123 2011-Jan Lab
3 123 2011-Jan Office
4 234 2011-Jan office
5 234 2012-Feb Lab
Je voudrais groupe par mem_number et year_month et secrètes toutes ces étiquettes aux cliniques, même si une seule étiquette dans ce groupe est clinique. la sortie doit être: -
Claim mem_number year_month label
1 123 2011-Jan Clinic
2 123 2011-Jan Clinic
3 123 2011-Jan Clinic
4 234 2011-Jan Office
5 234 2012-Feb Lab
Mon approche de ce problème est le suivant: -
library("dplyr")
output<-input %>% group_by(mem_number,year_month) %>%
mutate(label=if(any(label=="Clinic","Clinic",NA)))
its me donnant des erreurs. J'aimerais connaître mon erreur et comment la résoudre.
Peut-être que vous vouliez dire 'if (any (label == "Clinic")) "Clinic" else NA' ou peut-être que vous vouliez 'ifelse()' –
Comme Richard l'a dit, vous n'avez pas fermé les parenthèses les 'si 'ceux au bon endroit. Et vous avez utilisé la syntaxe 'ifelse' sur un' if' et 'else' - qui sont des fonctions différentes. Essayez quelque chose comme 'mutate (label = ifelse (any (label ==" Clinique ")," Clinic ", as.character (label)))' –
@DavidArenburg Essayé votre code! Ça marche. Merci – x1carbon