2

我想做这样的事情:

Title<-paste(typis[which.panel],bquote(nu[x]==.(typas[which.panel])),sep="")

其中 typas 是数字向量, typis 是字符向量,例如:

typas<-1:3
typis<-letters[1:3]

which.panel是 1:3 的整数(这是因为Title会根据面板变化)

并且nu[x]应该显示为一个plotmath对象。但R忽略了逗号后的所有内容 paste:(

4

1 回答 1

3

目前还不清楚你想要什么,但如果它只是一个包含两个信息位的表达式,你不需要paste(),只需在调用中包含两个位并根据你想要多少空间bquote()将它们分开一个或多个~. 需要注意的关键是bquote()可以包含任意数量的不同.()内容。

typas <- 1:3
typis <- letters[1:3]
which.panel <- 2
expr <- bquote(.(typis[which.panel]) ~~ nu[x]==.(typas[which.panel]))

plot(1:10, main = expr)

如果您需要围绕表达式部分进行更多格式设置typis(例如添加 a:如果这是面板标签),则将其添加到相关内容中.()

expr2 <-
  bquote(.(paste0(typis[which.panel], ":")) ~~ nu[x]==.(typas[which.panel]))
plot(1:10, main = expr2)

当然,这可以在表达式之外完成:

typis2 <- paste0(letters[1:3], ":")
expr3 <- bquote(.(typis2[which.panel]) ~~ nu[x]==.(typas[which.panel]))
plot(1:10, main = expr3)

这三个图如下所示:

在此处输入图像描述

最后两个基本上是等价的。

于 2013-01-24T11:23:44.173 回答