3

我正在尝试将用户提供的字符串和固定字符串粘贴到情节标题中。

当然,一个简单的案例有效:

userTitle <- "user title" # Example 1
fullTitle <- paste(userTitle, ": Results", sep = "")
plot(1:10, main = fullTitle)

但是如果用户的标题包含一个表达式呢?这是我尝试过的一些事情:

# This works, but doesn't include the fixed string # Example 2
userTitle <- expression(italic(Genus)~italic(species)) # EDIT: this was missing
fullTitle <- bquote(.(userTitle))
plot(1:10, main = fullTitle)

尝试添加固定字符串。一些不太奏效的事情:

fullTitle <- bquote(.(userTitle)~':'~Results) # Example 3
plot(1:10, main = fullTitle) # title missing .(userTitle)

fullTitle <- bquote(paste("Results:", .(userTitle))) # Example 4
plot(1:10, main = fullTitle) # title missing .(userTitle)

但是这个例子,从这里工作得很好[编辑:链接是错误的问题]。

x<- 232323
plot(1:10, main = bquote(paste(ARL[1], " curve for ", S^2, "; x=",.(x))))

我的示例 4 看起来几乎与最后一个完全相同,但表现不一样。,的组合太多了bquote,我查看了很多答案,但我可能遗漏了一些非常小的东西。如果用户字符串在这种情况下包含表达式,有关如何将用户字符串和固定字符串放在一起的任何建议?谢谢。expressionsubstitute

4

1 回答 1

3

我可以用一个公式来做到这一点:

userTitle <- italic(Genus)~italic(species) 
plot(1, 1., main=substitute( userTitle*": Results" , 
                              list(userTitle=userTitle) ) )

现在用一个表达式:

userTitle <- expression( italic(Genus)~italic(species) )
plot( 1, 1, main= bquote(.(eval(userTitle))*":"~Results) )
于 2013-08-25T05:30:46.373 回答