Research Question

Research question: what are the key medication combinations frequently prescribed together?

data <- read.csv(file.choose())

library(tidyverse)
library(dplyr)
library(datasets)
library(tidyr)
library(arules) 
dim(data)
## [1] 15002    20
# Remove blank rows
mdata <- data[!apply(data == "", 1, all), ]
dim(mdata)
## [1] 7501   20
# Add ID Column
mdata$id <- factor(seq.int(nrow(mdata)))

# Factorize 
mdata <- as.data.frame(unclass(mdata), stringsAsFactors = TRUE)
# Pivot data frame 
pivot <- pivot_longer(mdata, cols = 1:20, names_to = "Precription", values_to = "Medication")
head(pivot)
## # A tibble: 6 × 3
##   id    Precription Medication       
##   <fct> <chr>       <fct>            
## 1 1     Presc01     amlodipine       
## 2 1     Presc02     albuterol aerosol
## 3 1     Presc03     allopurinol      
## 4 1     Presc04     pantoprazole     
## 5 1     Presc05     lorazepam        
## 6 1     Presc06     omeprazole
# Keep only relevant variables
pivot <- pivot[,c(1,3)]
pivot <- pivot[!(pivot$Medication == ""), ]

# Create list and convert tibble to data frame
list_data <- as.data.frame(pivot)

# Split data frame
list_data <- split(list_data$Medication, list_data$id)
str(list_data)
## List of 7501
##  $ 1   : Factor w/ 120 levels "abilify","acetaminophen",..: 10 4 7 83 69 81 79 50 56 87 ...
##  $ 2   : Factor w/ 120 levels "abilify","acetaminophen",..: 30 19 14
##  $ 3   : Factor w/ 120 levels "abilify","acetaminophen",..: 44
##  $ 4   : Factor w/ 120 levels "abilify","acetaminophen",..: 84 7
##  $ 5   : Factor w/ 120 levels "abilify","acetaminophen",..: 1 16 54 80 70
##  $ 6   : Factor w/ 120 levels "abilify","acetaminophen",..: 28
##  $ 7   : Factor w/ 120 levels "abilify","acetaminophen",..: 60 59
##  $ 8   : Factor w/ 120 levels "abilify","acetaminophen",..: 73 95 96
##  $ 9   : Factor w/ 120 levels "abilify","acetaminophen",..: 76 23 70
##  $ 10  : Factor w/ 120 levels "abilify","acetaminophen",..: 59
##  $ 11  : Factor w/ 120 levels "abilify","acetaminophen",..: 14 104
##  $ 12  : Factor w/ 120 levels "abilify","acetaminophen",..: 47
##  $ 13  : Factor w/ 120 levels "abilify","acetaminophen",..: 84 30 1 14 48
##  $ 14  : Factor w/ 120 levels "abilify","acetaminophen",..: 23 90 47
##  $ 15  : Factor w/ 120 levels "abilify","acetaminophen",..: 1 98
##  $ 16  : Factor w/ 120 levels "abilify","acetaminophen",..: 1
##  $ 17  : Factor w/ 120 levels "abilify","acetaminophen",..: 10 40 34 77 107 48 28
##  $ 18  : Factor w/ 120 levels "abilify","acetaminophen",..: 84 14
##  $ 19  : Factor w/ 120 levels "abilify","acetaminophen",..: 84 63 13 23 1 17 98 14 34 43
##  $ 20  : Factor w/ 120 levels "abilify","acetaminophen",..: 19 16 77 59 102
##  $ 21  : Factor w/ 120 levels "abilify","acetaminophen",..: 101 10 2 106 14 40 94
##  $ 22  : Factor w/ 120 levels "abilify","acetaminophen",..: 108 92
##  $ 23  : Factor w/ 120 levels "abilify","acetaminophen",..: 23 1 72 22 42 70
##  $ 24  : Factor w/ 120 levels "abilify","acetaminophen",..: 30 55 10 2 7 77 82 85
##  $ 25  : Factor w/ 120 levels "abilify","acetaminophen",..: 14
##  $ 26  : Factor w/ 120 levels "abilify","acetaminophen",..: 105 23 73 7 16 65
##  $ 27  : Factor w/ 120 levels "abilify","acetaminophen",..: 68 23 1 16 54 17 98 66 8
##  $ 28  : Factor w/ 120 levels "abilify","acetaminophen",..: 92
##  $ 29  : Factor w/ 120 levels "abilify","acetaminophen",..: 1 14 34 40 59
##  $ 30  : Factor w/ 120 levels "abilify","acetaminophen",..: 76 23 79 1
##  $ 31  : Factor w/ 120 levels "abilify","acetaminophen",..: 75 86 95 25
##  $ 32  : Factor w/ 120 levels "abilify","acetaminophen",..: 1 40 7 14
##  $ 33  : Factor w/ 120 levels "abilify","acetaminophen",..: 84 59 89
##  $ 34  : Factor w/ 120 levels "abilify","acetaminophen",..: 76 88 40
##  $ 35  : Factor w/ 120 levels "abilify","acetaminophen",..: 47
##  $ 36  : Factor w/ 120 levels "abilify","acetaminophen",..: 103 23 98 8
##  $ 37  : Factor w/ 120 levels "abilify","acetaminophen",..: 54 59
##  $ 38  : Factor w/ 120 levels "abilify","acetaminophen",..: 101 68 1
##  $ 39  : Factor w/ 120 levels "abilify","acetaminophen",..: 1 39 50
##  $ 40  : Factor w/ 120 levels "abilify","acetaminophen",..: 103 90 70
##  $ 41  : Factor w/ 120 levels "abilify","acetaminophen",..: 23
##  $ 42  : Factor w/ 120 levels "abilify","acetaminophen",..: 63 76 23 1 77 80 66 8
##  $ 43  : Factor w/ 120 levels "abilify","acetaminophen",..: 23
##  $ 44  : Factor w/ 120 levels "abilify","acetaminophen",..: 73 19 78 92
##  $ 45  : Factor w/ 120 levels "abilify","acetaminophen",..: 8
##  $ 46  : Factor w/ 120 levels "abilify","acetaminophen",..: 73 7 59 78 26 22 42 70
##  $ 47  : Factor w/ 120 levels "abilify","acetaminophen",..: 1 34 33 46
##  $ 48  : Factor w/ 120 levels "abilify","acetaminophen",..: 1 27
##  $ 49  : Factor w/ 120 levels "abilify","acetaminophen",..: 7 111
##  $ 50  : Factor w/ 120 levels "abilify","acetaminophen",..: 30 17 70
##  $ 51  : Factor w/ 120 levels "abilify","acetaminophen",..: 23 40 26 82 70
##  $ 52  : Factor w/ 120 levels "abilify","acetaminophen",..: 63 1 14
##  $ 53  : Factor w/ 120 levels "abilify","acetaminophen",..: 23 111
##  $ 54  : Factor w/ 120 levels "abilify","acetaminophen",..: 23 40
##  $ 55  : Factor w/ 120 levels "abilify","acetaminophen",..: 59 8 90
##  $ 56  : Factor w/ 120 levels "abilify","acetaminophen",..: 86 35
##  $ 57  : Factor w/ 120 levels "abilify","acetaminophen",..: 84 63 76 13 68 23 1 40 73 16 ...
##  $ 58  : Factor w/ 120 levels "abilify","acetaminophen",..: 14 47
##  $ 59  : Factor w/ 120 levels "abilify","acetaminophen",..: 73 34 71 93 22 56 70
##  $ 60  : Factor w/ 120 levels "abilify","acetaminophen",..: 84 76 1 45 48 70
##  $ 61  : Factor w/ 120 levels "abilify","acetaminophen",..: 23
##  $ 62  : Factor w/ 120 levels "abilify","acetaminophen",..: 46
##  $ 63  : Factor w/ 120 levels "abilify","acetaminophen",..: 56
##  $ 64  : Factor w/ 120 levels "abilify","acetaminophen",..: 73 27 96 102 70
##  $ 65  : Factor w/ 120 levels "abilify","acetaminophen",..: 84 14
##  $ 66  : Factor w/ 120 levels "abilify","acetaminophen",..: 59
##  $ 67  : Factor w/ 120 levels "abilify","acetaminophen",..: 40 16
##  $ 68  : Factor w/ 120 levels "abilify","acetaminophen",..: 75 60 68 1 7 45 80
##  $ 69  : Factor w/ 120 levels "abilify","acetaminophen",..: 47
##  $ 70  : Factor w/ 120 levels "abilify","acetaminophen",..: 10 2
##  $ 71  : Factor w/ 120 levels "abilify","acetaminophen",..: 55 75 13 86 49
##  $ 72  : Factor w/ 120 levels "abilify","acetaminophen",..: 30 8 96
##  $ 73  : Factor w/ 120 levels "abilify","acetaminophen",..: 47
##  $ 74  : Factor w/ 120 levels "abilify","acetaminophen",..: 41
##  $ 75  : Factor w/ 120 levels "abilify","acetaminophen",..: 73 14
##  $ 76  : Factor w/ 120 levels "abilify","acetaminophen",..: 47
##  $ 77  : Factor w/ 120 levels "abilify","acetaminophen",..: 1 40 28
##  $ 78  : Factor w/ 120 levels "abilify","acetaminophen",..: 14 89
##  $ 79  : Factor w/ 120 levels "abilify","acetaminophen",..: 55 68 23 1 82
##  $ 80  : Factor w/ 120 levels "abilify","acetaminophen",..: 115
##  $ 81  : Factor w/ 120 levels "abilify","acetaminophen",..: 14 39 59
##  $ 82  : Factor w/ 120 levels "abilify","acetaminophen",..: 30 23 16 59 70
##  $ 83  : Factor w/ 120 levels "abilify","acetaminophen",..: 1 54 12 59
##  $ 84  : Factor w/ 120 levels "abilify","acetaminophen",..: 30 55 75 1 14 48
##  $ 85  : Factor w/ 120 levels "abilify","acetaminophen",..: 54
##  $ 86  : Factor w/ 120 levels "abilify","acetaminophen",..: 54 56
##  $ 87  : Factor w/ 120 levels "abilify","acetaminophen",..: 40 66
##  $ 88  : Factor w/ 120 levels "abilify","acetaminophen",..: 28
##  $ 89  : Factor w/ 120 levels "abilify","acetaminophen",..: 6 99
##  $ 90  : Factor w/ 120 levels "abilify","acetaminophen",..: 30 59 28 70
##  $ 91  : Factor w/ 120 levels "abilify","acetaminophen",..: 28
##  $ 92  : Factor w/ 120 levels "abilify","acetaminophen",..: 30 75 10 2 23 1 19 58 54 62 ...
##  $ 93  : Factor w/ 120 levels "abilify","acetaminophen",..: 90 28
##  $ 94  : Factor w/ 120 levels "abilify","acetaminophen",..: 90
##  $ 95  : Factor w/ 120 levels "abilify","acetaminophen",..: 30 4 14 59 47 70
##  $ 96  : Factor w/ 120 levels "abilify","acetaminophen",..: 72 73 8 22
##  $ 97  : Factor w/ 120 levels "abilify","acetaminophen",..: 84 72 76 106 107 43 118 25
##  $ 98  : Factor w/ 120 levels "abilify","acetaminophen",..: 111 14 47
##  $ 99  : Factor w/ 120 levels "abilify","acetaminophen",..: 47
##   [list output truncated]
# Transactionalized data set 
basket <- as(list_data, "transactions")
## Warning in asMethod(object): removing duplicated items in transactions
# Convert basket to matrix
basket <- as(basket, "matrix")

str(basket)
##  logi [1:7501, 1:119] TRUE FALSE FALSE FALSE TRUE FALSE ...
##  - attr(*, "dimnames")=List of 2
##   ..$ : chr [1:7501] "1" "2" "3" "4" ...
##   ..$ : chr [1:119] "abilify" "acetaminophen" "actonel" "albuterol aerosol" ...
dim(basket)
## [1] 7501  119
head(basket)
##   abilify acetaminophen actonel albuterol aerosol albuterol HFA alendronate
## 1    TRUE         FALSE   FALSE              TRUE          TRUE       FALSE
## 2   FALSE         FALSE   FALSE             FALSE         FALSE       FALSE
## 3   FALSE         FALSE   FALSE             FALSE         FALSE       FALSE
## 4   FALSE         FALSE   FALSE             FALSE         FALSE       FALSE
## 5    TRUE         FALSE   FALSE             FALSE         FALSE       FALSE
## 6   FALSE         FALSE   FALSE             FALSE         FALSE       FALSE
##   allopurinol alprazolam amitriptyline amlodipine amoxicillin amphetamine
## 1        TRUE      FALSE         FALSE       TRUE       FALSE       FALSE
## 2       FALSE      FALSE         FALSE      FALSE       FALSE       FALSE
## 3       FALSE      FALSE         FALSE      FALSE       FALSE       FALSE
## 4        TRUE      FALSE         FALSE      FALSE       FALSE       FALSE
## 5       FALSE      FALSE         FALSE      FALSE       FALSE       FALSE
## 6       FALSE      FALSE         FALSE      FALSE       FALSE       FALSE
##   amphetamine salt combo amphetamine salt combo xr atenolol atorvastatin
## 1                  FALSE                     FALSE    FALSE        FALSE
## 2                  FALSE                      TRUE    FALSE        FALSE
## 3                  FALSE                     FALSE    FALSE        FALSE
## 4                  FALSE                     FALSE    FALSE        FALSE
## 5                  FALSE                     FALSE    FALSE         TRUE
## 6                  FALSE                     FALSE    FALSE        FALSE
##   azithromycin benazepril benicar boniva bupropion sr carisoprodol carvedilol
## 1        FALSE      FALSE   FALSE  FALSE        FALSE        FALSE      FALSE
## 2        FALSE      FALSE    TRUE  FALSE        FALSE        FALSE      FALSE
## 3        FALSE      FALSE   FALSE  FALSE        FALSE        FALSE      FALSE
## 4        FALSE      FALSE   FALSE  FALSE        FALSE        FALSE      FALSE
## 5        FALSE      FALSE   FALSE  FALSE        FALSE        FALSE      FALSE
## 6        FALSE      FALSE   FALSE  FALSE        FALSE        FALSE      FALSE
##   cefdinir celebrex celecoxib cephalexin cialis ciprofloxacin citalopram
## 1    FALSE    FALSE     FALSE      FALSE   TRUE         FALSE      FALSE
## 2    FALSE    FALSE     FALSE      FALSE  FALSE         FALSE       TRUE
## 3    FALSE    FALSE     FALSE      FALSE  FALSE         FALSE      FALSE
## 4    FALSE    FALSE     FALSE      FALSE  FALSE         FALSE      FALSE
## 5    FALSE    FALSE     FALSE      FALSE  FALSE         FALSE      FALSE
## 6    FALSE    FALSE     FALSE      FALSE   TRUE         FALSE      FALSE
##   clavulanate K+ clonazepam clonidine HCI clopidogrel clotrimazole codeine
## 1          FALSE      FALSE         FALSE       FALSE        FALSE   FALSE
## 2          FALSE      FALSE         FALSE       FALSE        FALSE   FALSE
## 3          FALSE      FALSE         FALSE       FALSE        FALSE   FALSE
## 4          FALSE      FALSE         FALSE       FALSE        FALSE   FALSE
## 5          FALSE      FALSE         FALSE       FALSE        FALSE   FALSE
## 6          FALSE      FALSE         FALSE       FALSE        FALSE   FALSE
##   crestor cyclobenzaprine dextroamphetamine XR diazepam diclofenac sodium
## 1   FALSE           FALSE                FALSE    FALSE             FALSE
## 2   FALSE           FALSE                FALSE    FALSE             FALSE
## 3   FALSE           FALSE                FALSE    FALSE             FALSE
## 4   FALSE           FALSE                FALSE    FALSE             FALSE
## 5   FALSE           FALSE                FALSE    FALSE             FALSE
## 6   FALSE           FALSE                FALSE    FALSE             FALSE
##   doxycycline hyclate Duloxetine enalapril escitalopram esomeprazole ezetimibe
## 1               FALSE      FALSE     FALSE        FALSE        FALSE     FALSE
## 2               FALSE      FALSE     FALSE        FALSE        FALSE     FALSE
## 3               FALSE      FALSE      TRUE        FALSE        FALSE     FALSE
## 4               FALSE      FALSE     FALSE        FALSE        FALSE     FALSE
## 5               FALSE      FALSE     FALSE        FALSE        FALSE     FALSE
## 6               FALSE      FALSE     FALSE        FALSE        FALSE     FALSE
##   fenofibrate fexofenadine fluconozole fluoxetine HCI fluticasone
## 1       FALSE        FALSE        TRUE          FALSE       FALSE
## 2       FALSE        FALSE       FALSE          FALSE       FALSE
## 3       FALSE        FALSE       FALSE          FALSE       FALSE
## 4       FALSE        FALSE       FALSE          FALSE       FALSE
## 5       FALSE        FALSE       FALSE          FALSE       FALSE
## 6       FALSE        FALSE       FALSE          FALSE       FALSE
##   fluticasone nasal spray folic acid furosemide gabapentin glimepiride
## 1                   FALSE      FALSE      FALSE       TRUE       FALSE
## 2                   FALSE      FALSE      FALSE      FALSE       FALSE
## 3                   FALSE      FALSE      FALSE      FALSE       FALSE
## 4                   FALSE      FALSE      FALSE      FALSE       FALSE
## 5                   FALSE       TRUE      FALSE      FALSE       FALSE
## 6                   FALSE      FALSE      FALSE      FALSE       FALSE
##   glipizide glyburide hydrochlorothiazide hydrocodone ibuprophen
## 1      TRUE     FALSE               FALSE       FALSE      FALSE
## 2     FALSE     FALSE               FALSE       FALSE      FALSE
## 3     FALSE     FALSE               FALSE       FALSE      FALSE
## 4     FALSE     FALSE               FALSE       FALSE      FALSE
## 5     FALSE     FALSE               FALSE       FALSE      FALSE
## 6     FALSE     FALSE               FALSE       FALSE      FALSE
##   isosorbide mononitrate lansoprazole lantus levofloxacin levothyroxine sodium
## 1                  FALSE        FALSE  FALSE         TRUE                FALSE
## 2                  FALSE        FALSE  FALSE        FALSE                FALSE
## 3                  FALSE        FALSE  FALSE        FALSE                FALSE
## 4                  FALSE        FALSE  FALSE        FALSE                FALSE
## 5                  FALSE        FALSE  FALSE        FALSE                FALSE
## 6                  FALSE        FALSE  FALSE        FALSE                FALSE
##   lisinopril lorazepam losartan lovastatin meloxicam metformin metformin HCI
## 1      FALSE      TRUE     TRUE      FALSE     FALSE     FALSE         FALSE
## 2      FALSE     FALSE    FALSE      FALSE     FALSE     FALSE         FALSE
## 3      FALSE     FALSE    FALSE      FALSE     FALSE     FALSE         FALSE
## 4      FALSE     FALSE    FALSE      FALSE     FALSE     FALSE         FALSE
## 5      FALSE     FALSE     TRUE      FALSE     FALSE     FALSE         FALSE
## 6      FALSE     FALSE    FALSE      FALSE     FALSE     FALSE         FALSE
##   methylprednisone metoprolol metoprolol succinate XL metoprolol tartrate
## 1            FALSE      FALSE                    TRUE               FALSE
## 2            FALSE      FALSE                   FALSE               FALSE
## 3            FALSE      FALSE                   FALSE               FALSE
## 4            FALSE      FALSE                   FALSE               FALSE
## 5            FALSE      FALSE                   FALSE               FALSE
## 6            FALSE      FALSE                   FALSE               FALSE
##   mometasone naproxen omeprazole oxycodone pantoprazole paroxetine pioglitazone
## 1       TRUE    FALSE       TRUE     FALSE         TRUE      FALSE        FALSE
## 2      FALSE    FALSE      FALSE     FALSE        FALSE      FALSE        FALSE
## 3      FALSE    FALSE      FALSE     FALSE        FALSE      FALSE        FALSE
## 4      FALSE    FALSE      FALSE     FALSE        FALSE       TRUE        FALSE
## 5      FALSE     TRUE      FALSE     FALSE        FALSE      FALSE        FALSE
## 6      FALSE    FALSE      FALSE     FALSE        FALSE      FALSE        FALSE
##   potassium Chloride pravastatin prednisone pregabalin Premarin promethazine
## 1              FALSE        TRUE      FALSE      FALSE    FALSE         TRUE
## 2              FALSE       FALSE      FALSE      FALSE    FALSE        FALSE
## 3              FALSE       FALSE      FALSE      FALSE    FALSE        FALSE
## 4              FALSE       FALSE      FALSE      FALSE    FALSE        FALSE
## 5              FALSE       FALSE      FALSE      FALSE    FALSE        FALSE
## 6              FALSE       FALSE      FALSE      FALSE    FALSE        FALSE
##   quetiapine ranitidine rosuvastatin salmeterol inhaler sertraline HCI
## 1      FALSE      FALSE        FALSE              FALSE          FALSE
## 2      FALSE      FALSE        FALSE              FALSE          FALSE
## 3      FALSE      FALSE        FALSE              FALSE          FALSE
## 4      FALSE      FALSE        FALSE              FALSE          FALSE
## 5      FALSE      FALSE        FALSE              FALSE          FALSE
## 6      FALSE      FALSE        FALSE              FALSE          FALSE
##   simvastatin spironolactone sulfamethoxazole synthroid tamsulosin temezepam
## 1       FALSE           TRUE             TRUE     FALSE      FALSE     FALSE
## 2       FALSE          FALSE            FALSE     FALSE      FALSE     FALSE
## 3       FALSE          FALSE            FALSE     FALSE      FALSE     FALSE
## 4       FALSE          FALSE            FALSE     FALSE      FALSE     FALSE
## 5       FALSE          FALSE            FALSE     FALSE      FALSE     FALSE
## 6       FALSE          FALSE            FALSE     FALSE      FALSE     FALSE
##   topiramate tramadol trazodone HCI triamcinolone Ace topical triamterene
## 1      FALSE    FALSE         FALSE                     FALSE       FALSE
## 2      FALSE    FALSE         FALSE                     FALSE       FALSE
## 3      FALSE    FALSE         FALSE                     FALSE       FALSE
## 4      FALSE    FALSE         FALSE                     FALSE       FALSE
## 5      FALSE    FALSE         FALSE                     FALSE       FALSE
## 6      FALSE    FALSE         FALSE                     FALSE       FALSE
##   trimethoprim DS valaciclovir valsartan venlafaxine XR verapamil SR viagra
## 1           FALSE        FALSE     FALSE          FALSE        FALSE  FALSE
## 2           FALSE        FALSE     FALSE          FALSE        FALSE  FALSE
## 3           FALSE        FALSE     FALSE          FALSE        FALSE  FALSE
## 4           FALSE        FALSE     FALSE          FALSE        FALSE  FALSE
## 5           FALSE        FALSE     FALSE          FALSE        FALSE  FALSE
## 6           FALSE        FALSE     FALSE          FALSE        FALSE  FALSE
##     Yaz zolpidem cymbalta flovent hfa 110mcg inhaler hydrocortisone 2.5% cream
## 1 FALSE    FALSE    FALSE                      FALSE                     FALSE
## 2 FALSE    FALSE    FALSE                      FALSE                     FALSE
## 3 FALSE    FALSE    FALSE                      FALSE                     FALSE
## 4 FALSE    FALSE    FALSE                      FALSE                     FALSE
## 5 FALSE    FALSE    FALSE                      FALSE                     FALSE
## 6 FALSE    FALSE    FALSE                      FALSE                     FALSE
##   finasteride
## 1       FALSE
## 2       FALSE
## 3       FALSE
## 4       FALSE
## 5       FALSE
## 6       FALSE
# Run apriori function on transactions data set to get association rules 
arules <- apriori(basket, control = list(verbose = F), parameter = list(supp = 0.01, conf = 0.4, minlen = 2))

# Identify redundant rules
redundant <- is.redundant(arules)

# Refined rules
refined_arules <- arules[!redundant]

summary(refined_arules)
## set of 18 rules
## 
## rule length distribution (lhs + rhs):sizes
##  2  3 
##  4 14 
## 
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   2.000   3.000   3.000   2.778   3.000   3.000 
## 
## summary of quality measures:
##     support          confidence        coverage            lift      
##  Min.   :0.01013   Min.   :0.4013   Min.   :0.02000   Min.   :1.683  
##  1st Qu.:0.01117   1st Qu.:0.4175   1st Qu.:0.02400   1st Qu.:1.763  
##  Median :0.01373   Median :0.4355   Median :0.03266   Median :1.844  
##  Mean   :0.01621   Mean   :0.4414   Mean   :0.03737   Mean   :1.888  
##  3rd Qu.:0.01706   3rd Qu.:0.4561   3rd Qu.:0.04049   3rd Qu.:1.954  
##  Max.   :0.04093   Max.   :0.5067   Max.   :0.09825   Max.   :2.395  
##      count       
##  Min.   : 76.00  
##  1st Qu.: 83.75  
##  Median :103.00  
##  Mean   :121.61  
##  3rd Qu.:128.00  
##  Max.   :307.00  
## 
## mining info:
##    data ntransactions support confidence
##  basket          7501    0.01        0.4
##                                                                                                        call
##  apriori(data = basket, parameter = list(supp = 0.01, conf = 0.4, minlen = 2), control = list(verbose = F))
# Association Rules Table 
rules_data <- as.data.frame(inspect(refined_arules))
##      lhs                                          rhs          support   
## [1]  {spironolactone}                          => {abilify}    0.01706439
## [2]  {metformin}                               => {abilify}    0.02306359
## [3]  {glipizide}                               => {abilify}    0.02759632
## [4]  {lisinopril}                              => {abilify}    0.04092788
## [5]  {carvedilol, glipizide}                   => {abilify}    0.01026530
## [6]  {carvedilol, doxycycline hyclate}         => {abilify}    0.01146514
## [7]  {atorvastatin, metoprolol}                => {abilify}    0.01106519
## [8]  {carvedilol, metoprolol}                  => {abilify}    0.01199840
## [9]  {atorvastatin, lisinopril}                => {abilify}    0.01106519
## [10] {diazepam, lisinopril}                    => {abilify}    0.01093188
## [11] {amphetamine salt combo xr, lisinopril}   => {abilify}    0.01013198
## [12] {carvedilol, lisinopril}                  => {abilify}    0.01706439
## [13] {abilify, lisinopril}                     => {carvedilol} 0.01706439
## [14] {atorvastatin, diazepam}                  => {abilify}    0.01399813
## [15] {amphetamine salt combo xr, atorvastatin} => {abilify}    0.01306492
## [16] {atorvastatin, carvedilol}                => {abilify}    0.01573124
## [17] {amphetamine salt combo xr, diazepam}     => {abilify}    0.01346487
## [18] {carvedilol, diazepam}                    => {abilify}    0.01586455
##      confidence coverage   lift     count
## [1]  0.4012539  0.04252766 1.683336 128  
## [2]  0.4564644  0.05052660 1.914955 173  
## [3]  0.4190283  0.06585789 1.757904 207  
## [4]  0.4165536  0.09825357 1.747522 307  
## [5]  0.4476744  0.02293028 1.878079  77  
## [6]  0.4550265  0.02519664 1.908923  86  
## [7]  0.4689266  0.02359685 1.967236  83  
## [8]  0.4306220  0.02786295 1.806541  90  
## [9]  0.5030303  0.02199707 2.110308  83  
## [10] 0.4739884  0.02306359 1.988472  82  
## [11] 0.5066667  0.01999733 2.125563  76  
## [12] 0.4353741  0.03919477 1.826477 128  
## [13] 0.4169381  0.04092788 2.394681 128  
## [14] 0.4356846  0.03212905 1.827780 105  
## [15] 0.4242424  0.03079589 1.779778  98  
## [16] 0.4436090  0.03546194 1.861024 118  
## [17] 0.4056225  0.03319557 1.701663 101  
## [18] 0.4047619  0.03919477 1.698053 119

The top three rules all have a lift of at least 2.1 and a confidence of at least 0.41. The results are interpreted by first looking at the item(s) in the left-hand side (lhs) column and right-hand side (rhs). It should be read, “it is suggested that if a patient is prescribed (lhs), then it is likely that the patient will also be prescribed (rhs)”. How much more likely and how confident we are in the relationship is reported by the confidence and lift values in that rule.

# Inspect top rules sorted by "lift" in descending order 
inspect(head(sort(refined_arules, by = "lift", decreasing = TRUE), 3))
##     lhs                                        rhs          support   
## [1] {abilify, lisinopril}                   => {carvedilol} 0.01706439
## [2] {amphetamine salt combo xr, lisinopril} => {abilify}    0.01013198
## [3] {atorvastatin, lisinopril}              => {abilify}    0.01106519
##     confidence coverage   lift     count
## [1] 0.4169381  0.04092788 2.394681 128  
## [2] 0.5066667  0.01999733 2.125563  76  
## [3] 0.5030303  0.02199707 2.110308  83
# Check abilify 
medication_frequencies <- table(pivot$Medication)
sorted_medication_frequencies <- sort(medication_frequencies, decreasing = TRUE)
print(sorted_medication_frequencies) 
## 
##                    abilify  amphetamine salt combo xr 
##                       1788                       1348 
##                 carvedilol                  glyburide 
##                       1306                       1282 
##                   diazepam                   losartan 
##                       1230                        991 
##               atorvastatin                 lisinopril 
##                        972                        737 
##                 metoprolol        doxycycline hyclate 
##                        715                        713 
##                 citalopram       dextroamphetamine XR 
##                        654                        608 
##                  ezetimibe                 alprazolam 
##                        603                        595 
##                     cialis                 amlodipine 
##                        574                        536 
##     amphetamine salt combo                  glipizide 
##                        513                        494 
##               levofloxacin                 paroxetine 
##                        475                        469 
##                clopidogrel                   naproxen 
##                        450                        439 
##                 furosemide                fenofibrate 
##                        393                        383 
##                  metformin           methylprednisone 
##                        379                        371 
##    metoprolol succinate XL                   Premarin 
##                        356                        351 
##                     lantus             spironolactone 
##                        323                        319 
##                  celecoxib                allopurinol 
##                        253                        250 
##        metoprolol tartrate                fluconozole 
##                        243                        239 
##                pravastatin                amphetamine 
##                        228                        226 
##        hydrochlorothiazide                 tamsulosin 
##                        221                        211 
##          diclofenac sodium               clotrimazole 
##                        205                        204 
##                 folic acid                  meloxicam 
##                        203                        203 
##                 gabapentin  triamcinolone Ace topical 
##                        200                        199 
##              clonidine HCI               pantoprazole 
##                        193                        193 
##             venlafaxine XR                triamterene 
##                        181                        173 
##                 ibuprophen     isosorbide mononitrate 
##                        169                        167 
##                 pregabalin                    benicar 
##                        160                        157 
##          albuterol aerosol              trazodone HCI 
##                        153                        149 
##                hydrocodone            trimethoprim DS 
##                        143                        141 
##                  temezepam                   zolpidem 
##                        139                        131 
##                  oxycodone              acetaminophen 
##                        124                        118 
##         salmeterol inhaler                    codeine 
##                        117                        115 
##               azithromycin         potassium Chloride 
##                        107                        106 
##               lansoprazole                 lovastatin 
##                        102                        101 
##    fluticasone nasal spray                    actonel 
##                         99                         90 
##                 Duloxetine               carisoprodol 
##                         90                         86 
##                 mometasone                   celebrex 
##                         86                         82 
##                   atenolol               escitalopram 
##                         81                         79 
##                  valsartan             clavulanate K+ 
##                         78                         73 
##                   cymbalta                 omeprazole 
##                         71                         70 
##                 benazepril                simvastatin 
##                         69                         69 
##                glimepiride                  lorazepam 
##                         68                         68 
##              albuterol HFA                amoxicillin 
##                         67                         65 
##                 cephalexin                  synthroid 
##                         65                         65 
##               esomeprazole               pioglitazone 
##                         63                         61 
##                 prednisone             sertraline HCI 
##                         58                         58 
##               promethazine       levothyroxine sodium 
##                         53                         52 
##                   tramadol                 quetiapine 
##                         49                         47 
##                 ranitidine                     boniva 
##                         47                         46 
##            cyclobenzaprine                 topiramate 
##                         46                         45 
##              ciprofloxacin               verapamil SR 
##                         44                         42 
##              metformin HCI               rosuvastatin 
##                         39                         37 
##           sulfamethoxazole                alendronate 
##                         37                         36 
##                 clonazepam               fexofenadine 
##                         36                         36 
##              amitriptyline                     viagra 
##                         34                         34 
##                    crestor                fluticasone 
##                         33                         33 
##               valaciclovir                        Yaz 
##                         33                         32 
##               bupropion sr                  enalapril 
##                         31                         31 
## flovent hfa 110mcg inhaler                   cefdinir 
##                         29                         14 
##             fluoxetine HCI                finasteride 
##                          7                          5 
##  hydrocortisone 2.5% cream                            
##                          3                          0

The top rule reports that the likelihood of carvedilol is 2.3 times higher, as indicated by the lift, to be prescribed when both abilify and lisinopril are prescribed compared to when they are not prescribed together. The support reports that 1.71% of transactions in the dataset that contain abilify, lisinopril, and carvedilol. A confidence score of 0.41 indicates that we can be 41% confident that when abilify and lisinopril are prescribed, carvedilol will also be prescribed. The proportion of transactions that include both abilify and lisinopril is 4.09%, represented in the coverage. The count tells us that the combination of all three medicates occurring together happened 128 times.

Similarly, the second rule states that when amphetamine salt combo xr and lisinopril are prescribed, there is a 212% higher chance of abilify also being prescribed. This rule has the highest confidence score of 50.6% but is only represented in 1% of all transactions in the dataset.