2

很抱歉这个非常愚蠢的问题,我已经搜索了一段时间没有找到解决方案。我需要迭代地创建几个图,其标题是(1)从先前创建的向量中挑选的,(2)必须是斜体。我尝试了几个没有足够结果的选项,如下所示:

# Main titles
m <- paste(LETTERS[1:10], LETTERS[11:20])
# Plots
for(i in 1:10){
     x <- runif(10, 1, 20)
     y <- runif(10, 1, 20)
     X11()
     plot(x,y, main = expression(italic(m[i])))
}

但是我得到的是带有“m”和“i”作为下标的图,而不是向量中的相应内容。任何的想法?

4

2 回答 2

2

这是实现您想要的方法

# Main titles
m <- paste(LETTERS[1:10], LETTERS[11:20])
# Plots
for(i in 1:10){
  x <- runif(10, 1, 20)
  y <- runif(10, 1, 20)
  X11()
  plot(x,y, main = substitute(paste(italic(x)), list(x = m[i])))
}

地块之一 在此处输入图像描述

于 2021-03-25T14:20:33.957 回答
2

另一种选择是使用bquote. 中的表达式.()将被评估:

plot(x,y, main = bquote(italic(.(m[i]))) )

在此处输入图像描述

于 2021-03-25T14:56:49.343 回答