Я пытаюсь объединить математические символы и объекты со значениями, сохраненными в них, для отображения на графике ggplot с помощью geom_text (). Вот пример кода, связанного с моей проблемой:
# values
diff <- "0.81"
p <- "p < .01"
# approach 1) pasting in values
temp <- data.frame(condition = c("first"), value = c(2)) %>%
mutate(test = as.character(expression(atop(beta["2"] - beta["1"] == "-0.80", "p < 0.01"))))
ggplot() +
geom_bar(data = temp, aes(x = condition, y = value), stat = "identity") +
ylim(0, 5) +
geom_text(data = temp, x = 1, y = 4, aes(label = test), size = 7, parse = TRUE)
# approach 2) referring to objects with values
temp <- data.frame(condition = c("first"), value = c(2)) %>%
mutate(test = as.character(expression(atop(beta["2"] - beta["1"] == diff, p))))
ggplot() +
geom_bar(data = temp, aes(x = condition, y = value), stat = "identity") +
ylim(0, 5) +
geom_text(data = temp, x = 1, y = 4, aes(label = test), size = 7, parse = TRUE)
Подход 1 создает график, к которому я стремлюсь, но я хочу иметь возможность легко ссылаться на объекты для предоставления значений, которые будут отображаться после бета-версий. Если я выберу текущий подход 2, он не будет использовать значения, сохраненные в объектах, а только текст «diff» и «p». Есть ли способ сохранить базовую структуру подхода 1, но использовать объекты для создания нужного мне графика?