Brand new to using R and ggplot2 so please forgive the funkiness of my code. 
I'm trying to preserve the order of my x-axis from a csv file, but it was reordered alphabetically. 
I attempted to use scale_x_discrete, but I think my implementation was poor or perhaps it was inappropriate to use. 
The result was a reordered x-axis, but the plotted points were preserved in the alphabetical order. Additionally, my legend is incorporating my weighted average. I would like to have a standalone third legend that defines the red X. How would I go about separating the geom layers of the same type?
#Main plot
myplot <- ggplot(mydata, aes(x = treatment, y = delta_ases)) +              #plot treatment(x) vs score(y)
                 geom_point(aes(size = sample_size)) +                      #adjust point area by sample size
                 geom_point(aes(y=ases_weighted_avg, size=30),    
                        color="red", shape=4) +                             #plot weighted average, show.legend = FALSE?
                 scale_y_continuous(breaks = seq(0, 100, by = 10), 
                                limits = c(5, 75)) +                        #cleaner y-axis
                 theme_bw() + 
                 theme(panel.border = element_blank(), 
                       panel.grid.major = element_blank(),
                       panel.grid.minor = element_blank(), 
                       axis.line = element_line(colour = "black"))          #remove background and grid elements
myplot <- myplot +  labs(x = "Treatment Strategy") +                        #rename x-axis
                    labs(y = "Change in ASES Score") +                      #rename y-axis
                    labs(size = "Sample Size") +                            #rename sample size legend
                    labs(linetype = "MCID") +                               #rename line legend
                    geom_hline(aes(yintercept = 17, linetype = "PT"), 
                               color = 'black') +                           #create horizontal line for Physical Therapy Group
                    geom_hline(aes(yintercept = 39, linetype = "Surgery"), 
                               color = 'black')                             #create horizontal line for Surgical Group
myplot

Sample Data
structure(list(treatment = structure(c(5L, 5L, 5L, 2L, 2L, 2L, 
2L, 2L, 2L, 2L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 3L, 3L, 3L, 8L, 8L, 
8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 7L, 7L, 1L, 1L, 6L, 6L, 6L, 
6L, 6L, 6L), .Label = c("BA", "D", "GI", "PR", "PT", "RSA", "SCR", 
"TT"), class = "factor"), sample_size = c(30L, 45L, 19L, 33L, 
23L, 41L, 33L, 57L, 31L, 38L, 13L, 90L, 37L, 22L, 28L, 11L, 25L, 
5L, 21L, 41L, 27L, 14L, 86L, 33L, 55L, 67L, 55L, 52L, 15L, 60L, 
42L, 36L, 23L, 5L, 20L, 64L, 17L, 58L, 25L, 49L, 34L), delta_ases = c(23, 
NA, NA, 28, NA, NA, NA, NA, 45.8, NA, NA, NA, 32.6, NA, 32.7, 
NA, 39.1, 45, NA, NA, NA, NA, 40.1, NA, NA, NA, NA, NA, NA, NA, 
24.9, 35.8, 69.4, NA, NA, 32.4, NA, 42.1, NA, NA, NA), delta_cms = c(NA, 
13, NA, 21, 31.4, 28, 30, NA, 16.8, NA, 27.7, 37.2, NA, 30.9, 
NA, NA, NA, NA, 37.8, 46.4, 34, 26, 25.9, NA, 16.5, 14, 28.4, 
36, 38.7, 28.5, 27.4, NA, NA, 25, 33.2, NA, NA, NA, 28.4, 36.7, 
35.6), ases_weighted_avg = c(23, NA, NA, 36.621875, NA, NA, NA, 
NA, NA, NA, 34.43666667, NA, NA, NA, NA, NA, NA, 45, NA, NA, 
35.1125, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 48.89830508, 
NA, NA, NA, 37.01147541, NA, NA, NA, NA, NA), cms_weighted_avg = c(NA, 
13, NA, 25.30434783, NA, NA, NA, NA, NA, NA, 35.1032, NA, NA, 
NA, NA, NA, NA, 43.48709677, NA, NA, 25.85665962, NA, NA, NA, 
NA, NA, NA, NA, NA, NA, NA, NA, NA, 31.56, NA, 34.43240741, NA, 
NA, NA, NA, NA)), class = "data.frame", row.names = c(NA, -41L
))
 
     
    
