I have data as follows:
library(quantreg)
library(ggplot2)
data <- structure(list(country_mean_rep = structure(c(73.6995708154506,
93.5501285347044, 85.1529051987768, 91.1017369727047, 79.5562130177515,
84.6751054852321, 89.8, 86.8826405867971, 94.2247191011236, 70.2321428571429,
88.4107142857143), label = "label", format.stata = "%9.2f"),
country_mean_crime = c(0.0944206008583691, 0.0565552699228792,
0.0336391437308868, 0.205955334987593, 0.130177514792899,
0.282700421940928, 0.220512820512821, 0.415647921760391,
0.387640449438202, 0.200892857142857, 0.292207792207792),
country_name = structure(c(1L, 2L, 3L, 4L, 5L, 7L, 11L, 12L,
14L, 16L, 20L), .Label = c("Albania", "Armenia", "Azerbaijan",
"Belarus", "Bosnia and Herzegovina", "Brazil", "Bulgaria",
"Cambodia", "Chile", "CostaRica", "Croatia", "Czech", "Ecuador",
"Estonia", "FYROM", "Georgia", "Germany", "Greece", "Guyana",
"Hungary", "Ireland", "Kazakhstan", "Kenya", "Kyrgyzstan",
"Latvia", "Lithuania", "Malawi", "Mali", "Moldova", "Philippines",
"Poland", "Portugal", "Romania", "Russia", "Senegal", "Serbia&Montenegro",
"Slovakia", "Slovenia", "South Africa", "South Korea", "Spain",
"SriLanka", "Tajikistan", "Turkey", "Ukraine", "Uzbekistan",
"Vietnam"), class = "factor")), row.names = c(NA, -11L), class = c("data.table",
"data.frame"))
# On which I like to run the following code:
ggplot(data, aes(x=country_mean_rep, y=country_mean_crime)) +
geom_point() +
geom_smooth(aes(colour="linear", fill="linear"),
method="lm",
formula=y ~ x, ) +
labs(colour="Functional Form", fill="Functional Form") +
geom_text(aes(label=country_name), nudge_y=0.02) +
theme_bw()
I would like to add a regression line that uses least absolute deviation, so I tried:
ggplot(data, aes(x=country_mean_rep, y=country_mean_crime)) +
geom_point() +
geom_smooth(aes(colour="linear", fill="linear"),
method="lm",
formula=y ~ x, ) +
geom_smooth(aes(colour="least absolute deviation", fill="least absolute deviation"),
method="qr",
formula=y ~ x, ) +
labs(colour="Functional Form", fill="Functional Form") +
geom_text(aes(label=country_name), nudge_y=0.02) +
theme_bw()
I get the following error:
Computation failed in `stat_smooth()`:
invalid first argument
Could anyone help me figure this out?
