[英]R - Loop over subscript in plot function (simple beginner's qst)
我的代碼如下所示:
plotf = function(title=expression("Test"~a )){
plot(cars)
title(title)
}
foo = c('a[1]', 'a[2]')
for(i in 1:2){
plotf(title=expression("Test"~foo[i] ))
}
對於第一個情節,我想要一個下標1,對於第二個情節,我想要一個下標2,我如何實現? 多謝您的協助。
表達式未計算,因此表達式中的foo[i]
保留為符號和調用,並且不會擴展為它們的值。 另外,如果需要下標,則需要使用表達式而不是字符串。 注意, "a[1]"
與a[1]
; 前者是一個字符值,而后者實際上是一個“調用”。
要動態構建表達式,可以使用bquote()
或substitute()
動態插入零件。 這是使用前者的示例
foo = expression(a[1], a[2])
layout(matrix(1:2, nrow=1))
for(i in 1:2){
plotf(title=bquote("Test"~.(foo[[i]]) ))
}
這里實際上並不需要foo
變量。 您可以輕松地做到
for(i in 1:2){
plotf(title=bquote("Test"~a[.(i)]) )
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.