来自存储在变量R中的文本的情节标签中的上标

时间:2018-04-29 20:02:30

标签: r ggplot2

我想打印R平方(上标)以及存储在变量中的其他一些文本。我的代码如下:

library(ggplot2)
library(extrafont)
loadfonts(device = "win")
dims = read.csv("example.csv")
write_graph <- function(x, y, colour)
{
  attach(dims)
  plot1 <- ggplot(dims, aes_string(x = x, y = y, fill = colour)) +
    geom_boxplot()+
    labs(color=colour) +
    scale_fill_grey(start = 0.3, end = 0.6) +
    theme_bw()+
    theme(legend.justification = c(1, 1), legend.position = c(1, 1)) +
    theme(axis.text.x = element_text(colour="black"), axis.text.y = element_text(colour="black"))+
    theme(text=element_text(family="Times New Roman"), panel.grid.major.y = element_blank(), panel.grid.minor.y = element_blank(), panel.grid.major.x = element_blank(), axis.title.x=element_blank(), axis.title.y=element_blank())+
    geom_label(aes(fill = NULL), show.legend = FALSE, x=x_cor, y=y_cor, label= model_text, family="Times New Roman", size=3)
  plot(plot1)
  detach(dims)
  return(plot1)
}
x_cor = 1.7; y_cor = -24; model_text = "Linear Model: Dim1 ~ Category*Region\nF(9, 972)=121.7; R^2 = 0.525; p < .001";
p <- write_graph("Category", "Dim1", "Region")
p

示例数据位于this link。我知道在这个网站和互联网上有很多类似的问题。然而,我花了几个小时搜索我的问题的解决方案,我无法理解如何转换2 in&#34; R ^ 2&#34; (从model_text)到上标。作为一个例子,我尝试了this answer中提供的解决方案,因为可以看出问题非常相似,但我无法实现建议的解决方案,主要是因为我的所有文本都存储在一个单独的字符串中,而我不知道如何分开它来表达&#34; R ^ 2&#34;理解解析功能。在这方面,我尝试了pasteexpressionpaste0parse=TRUEas.expressionas.character的多种组合,但没有成功。< / p>

1 个答案:

答案 0 :(得分:0)

最简单的方法是使用Unicode平方字符R²。见Unicode Character SUPERSCRIPT TWO

model_text = "Linear Model: Dim1 ~ Category*Region\nF(9, 972)=121.7; R² = 0.525; p < .001";