Ниже приведен код R, который отображает график сгруппированных штрихов.ggplot, отображающий выражение по оси x
group_name = c('A_1x', 'A_1x', 'A_2x', 'A_2x', 'A_3x', 'A_3x', 'A_4x', 'A_4x')
mydata2 <- data.frame(mygroup = group_name,
mysubgroup = factor(c("Yes", "No"),
levels = c("Yes", "No")),
value = c(60,40,90,10,55,45,88,12))
ggplot(mydata2, aes(mygroup, value, fill = mysubgroup)) +
geom_bar(position = "dodge", width = 0.5, stat = "identity")+
coord_flip()
В настоящее время график выглядит следующим образом. Однако я хочу показать выражения по оси x, как показано на рисунке ниже.
Я попытался это:
group_name = c(expression(A[1*x]),expression(A[1*x]),
expression(A[2*x]),expression(A[2*x]),
expression(A[3*x]),expression(A[3*x]),
expression(A[4*x]),expression(A[4*x]))
Но это дает следующее сообщение об ошибке:
Error in as.data.frame.default(x[[i]], optional = TRUE) :
cannot coerce class ""expression"" to a data.frame
Как это исправить?
Мне показалось, что один должен быть в состоянии создать вектор выражений вместо того, чтобы вводить каждый явно. Это лучшее, что я мог бы добавить, но, возможно, есть более элегантный метод: «scale_x_discrete (labels = sapply (paste0 (« A [", 1: 4," * x] "), функция (i) parse (text = я))) ' – eipi10