#install.packages("readxl") #Installing library

library(readxl) #Activating library

mydata <- read_xlsx("./Reading xlsx data.xlsx") #Reading data set in xlsx format

mydata <- as.data.frame(mydata) #Creating data frame format

head(mydata)
##   ID Headache Medicine
## 1  1       59        A
## 2  2       50        A
## 3  3       45        A
## 4  4       55        A
## 5  5       35        A
## 6  6       28        A

Description:

mydata$MedicineF <- factor(mydata$Medicine, 
                           levels = c("A", "B", "C"), 
                           labels = c("A", "B", "C"))
str(mydata)
## 'data.frame':    30 obs. of  4 variables:
##  $ ID       : num  1 2 3 4 5 6 7 8 9 10 ...
##  $ Headache : num  59 50 45 55 35 28 29 40 39 35 ...
##  $ Medicine : chr  "A" "A" "A" "A" ...
##  $ MedicineF: Factor w/ 3 levels "A","B","C": 1 1 1 1 1 1 1 1 1 1 ...
summary(mydata[(c("Headache", "MedicineF"))])
##     Headache     MedicineF
##  Min.   :15.00   A:10     
##  1st Qu.:25.75   B:10     
##  Median :36.00   C:10     
##  Mean   :35.10            
##  3rd Qu.:41.75            
##  Max.   :59.00
#Showing descriptive statistics by groups

library(psych)
describeBy(x = mydata$Headache, 
           group = mydata$MedicineF)
## 
##  Descriptive statistics by group 
## group: A
##    vars  n mean    sd median trimmed   mad min max range skew
## X1    1 10 41.5 10.56   39.5      41 11.86  28  59    31  0.3
##    kurtosis   se
## X1    -1.45 3.34
## ---------------------------------------------------- 
## group: B
##    vars  n mean    sd median trimmed  mad min max range  skew
## X1    1 10   37 10.37   40.5   37.75 5.93  18  50    32 -0.66
##    kurtosis   se
## X1     -1.1 3.28
## ---------------------------------------------------- 
## group: C
##    vars  n mean   sd median trimmed   mad min max range skew kurtosis
## X1    1 10 26.8 8.84     24   26.75 11.12  15  39    24 0.14    -1.84
##     se
## X1 2.8