Explore the first data set (bdpm)
library(dplyr)
db <- readRDS("produced_data/bdpm.rds")
glimpse(db)
## Observations: 14,297
## Variables: 12
## $ code_cis <int> 61266250, 62869109, 66513085, 64332894,...
## $ denomination <chr> "A 313 200 000 UI POUR CENT, pommade", ...
## $ forme <chr> "pommade", "capsule molle", "solution i...
## $ voie <chr> "cutanée", "orale", "sous-cutanée", "so...
## $ statut_amm <chr> "Autorisation active", "Autorisation ac...
## $ type_amm <chr> "Procédure nationale", "Procédure natio...
## $ commercialisation <chr> "Commercialisée", "Commercialisée", "Co...
## $ date_amm <date> 1998-03-12, 1997-07-07, 2014-09-09, 20...
## $ statut_bdm <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,...
## $ no_autorisation_eu <chr> NA, NA, "EU/1/14/944", "EU/1/14/944", N...
## $ titulaire <chr> "PHARMA DEVELOPPEMENT", "PHARMA DEVELOP...
## $ surveillance_renforcee <chr> "Non", "Non", "Oui", "Oui", "Non", "Non...
The Code CIS (Code identifiant spécialité).
Is there any duplicated value of this code ?
any(duplicated(db$code_cis))
## [1] FALSE
What’s the range of this code ?
range(db$code_cis)
## [1] 60002283 69999429
head(db$denomination)
## [1] "A 313 200 000 UI POUR CENT, pommade"
## [2] "A 313 50 000 U.I., capsule molle"
## [3] "ABASAGLAR 100 unités/ml, solution injectable en cartouche"
## [4] "ABASAGLAR 100 unités/ml, solution injectable en stylo prérempli"
## [5] "ABELCET 5 mg/ml, suspension à diluer pour perfusion"
## [6] "ABIES CANADENSIS BOIRON, degré de dilution compris entre 2CH et 30CH ou entre 4DH et 60DH"
Is there some very popular drugs names I know
grep("Doliprane", ignore.case = T, db$denomination, value = T)
## [1] "CODOLIPRANE 500 mg/30 mg, comprimé"
## [2] "CODOLIPRANE 500 mg/30 mg, comprimé effervescent sécable"
## [3] "CODOLIPRANE ADULTES 400 mg/20 mg, comprimé sécable"
## [4] "DOLIPRANE 100 mg, poudre pour solution buvable en sachet-dose"
## [5] "DOLIPRANE 100 mg, suppositoire sécable"
## [6] "DOLIPRANE 1000 mg, comprimé"
## [7] "DOLIPRANE 1000 mg, comprimé effervescent sécable"
## [8] "DOLIPRANE 1000 mg, gélule"
## [9] "DOLIPRANE 1000 mg, poudre pour solution buvable en sachet-dose"
## [10] "DOLIPRANE 150 mg, poudre pour solution buvable en sachet-dose"
## [11] "DOLIPRANE 150 mg, suppositoire"
## [12] "DOLIPRANE 2,4 POUR CENT SANS SUCRE, suspension buvable édulcorée au maltitol liquide et au sorbitol"
## [13] "DOLIPRANE 200 mg, poudre pour solution buvable en sachet-dose"
## [14] "DOLIPRANE 200 mg, suppositoire"
## [15] "DOLIPRANE 300 mg, poudre pour solution buvable en sachet-dose"
## [16] "DOLIPRANE 300 mg, suppositoire"
## [17] "DOLIPRANE 500 mg, comprimé"
## [18] "DOLIPRANE 500 mg, comprimé effervescent"
## [19] "DOLIPRANE 500 mg, gélule"
## [20] "DOLIPRANE 500 mg, poudre pour solution buvable en sachet-dose"
## [21] "DOLIPRANE ADULTES 1000 mg, suppositoire"
## [22] "DOLIPRANE CODEINE 400 mg/20 mg, comprimé sécable"
## [23] "DOLIPRANECAPS 1000 mg, gélule"
## [24] "DOLIPRANELIQUIZ 200 mg SANS SUCRE, suspension buvable en sachet édulcorée au maltitol liquide et au sorbitol"
## [25] "DOLIPRANELIQUIZ 300 mg SANS SUCRE, suspension buvable en sachet édulcorée au maltitol liquide et au sorbitol"
## [26] "DOLIPRANEORODOZ 500 mg, comprimé orodispersible"
## [27] "DOLIPRANETABS 1000 mg, comprimé pelliculé"
## [28] "DOLIPRANETABS 500 mg, comprimé pelliculé"
## [29] "DOLIPRANEVITAMINEC 500 mg/150 mg, comprimé effervescent"
I didn’t image that there is so much kind of “Doliprane”
amox <- grep("amoxicilline", ignore.case = T, db$denomination)
length(amox)
## [1] 152
head(db$denomination[amox])
## [1] "AMOXICILLINE / ACIDE CLAVULANIQUE MYLAN 500 mg/62,5 mg ADULTES, comprimé pelliculé (rapport amoxicilline/acide clavulanique : 8/1)"
## [2] "AMOXICILLINE ACIDE CLAVULANIQUE ALMUS 100 mg/12,5 mg par ml ENFANTS, poudre pour suspension buvable (rapport amoxicilline/acide clavulanique : 8/1)"
## [3] "AMOXICILLINE ACIDE CLAVULANIQUE ALMUS 100 mg/12,5 mg par ml NOURRISSONS, poudre pour suspension buvable (rapport amoxicilline/acide clavulanique : 8/1)"
## [4] "AMOXICILLINE ACIDE CLAVULANIQUE ARROW 100 mg/12,5 mg par ml ENFANTS, poudre pour suspension buvable en flacon (rapport amoxicilline/acide clavulanique : 8/1)"
## [5] "AMOXICILLINE ACIDE CLAVULANIQUE ARROW 100 mg/12,5 mg par ml NOURRISSONS, poudre pour suspension buvable en flacon (rapport amoxicilline/acide clavulanique : 8/1)"
## [6] "AMOXICILLINE ACIDE CLAVULANIQUE MYLAN 100 mg/12,5 mg par ml ENFANTS, poudre pour suspension buvable en flacon (rapport amoxicilline/acide clavulanique : 8/1)"
There is a lot of form of this antibiotic (152). Normal for one of the most used antibiotic.
uforme <- unique(db$forme)
length(uforme)
## [1] 405
405 various form. But there is multiple form in one line sometimes, separated by “et”. Try to find the real different form.
forms <- db$forme %>%
strsplit(split = " et ") %>%
unlist()
length(unique(forms))
## [1] 393
head(forms)
## [1] "pommade"
## [2] "capsule molle"
## [3] "solution injectable"
## [4] "solution injectable"
## [5] "suspension à diluer pour perfusion"
## [6] "poudre"
Select the 100 most frequent
head(as.data.frame(table(forms)))
## forms Freq
## 1 comprimé 17
## 2 comprimé enrobé 19
## 3 comprimé pelliculé 36
## 4 comprimé pelliculé buvable pelliculé 1
## 5 comprimé pelliculé pelliculé 1
## 6 crème 17
cent <- forms %>%
table() %>%
as.data.frame %>%
arrange(desc(Freq)) %>%
head(100)
library(wordcloud2)
wordcloud2(cent)