Bonjour à tous,
J'essaie de faire un calcul à partir d'un dataframe mais je bute :
Voici un dataframe Test qui représente mes données :
Ce qui donne :Code:
1
2
3
4
5
6
7
8
9 # Création dataframe Test Num_etablissement <- c(1,1,2,2) PDS <- c(1.9,1.2,2.5,"NA") Acte <- c("A","B","A","A") Précision.1 <- c("P1","P2","P2","P1") DF <- data.frame (Num_etablissement,PDS,Acte, Précision.1) cet_acte <- "A" # je filtre mon tableau pour un acte donné DFa <- DF[DF$Acte==cet_acte,]
Ensuite je cherche à connaître le nombre d’établissement pour chaque précision1. Je me suis servi de ce code :> DFa Num_etablissement PDS Acte Précision.1 1 1 1.9 A P1 3 2 2.5 A P2 4 2 NA A P1
J’obtiens :Code:data.frame(Précision.1=unique(DFa$Précision.1), nb_de_Centres_differents=sapply(unique(DFa$Précision.1), function(x){length(unique(DFa$Num_etablissement[DFa$Précision.1==x]))}))
Hors je souhaiterais maintenant filtrer en enlevant les lignes « NA » du PDS et obtenir :Précision.1 nb_de_Centres_differents 1 P1 2 2 P2 1
J’ai essayé d’utiliser [!is.na(DFa$PDS) ] mais cela ne fonctionne pas.Précision.1 nb_de_Centres_differents 1 P1 1 2 P2 1
Merci de votre aide
Matou