[英]Using subscript and variable values at the same time in Axis titles in R
我想在 R 的 plot 中使用標題“濕地中的二氧化碳排放量”,而二氧化碳中的 2 在下標中,並且該區域的值(此處為:“濕地”)包含在名為“區域”的變量中。
region = "wetlands"
plot (1, 1, main=expression(CO[2]~paste(" emissions in ", region)))
問題是,粘貼的不是變量的值,而是變量的名稱。 這給出了“區域內的二氧化碳排放量”而不是“濕地中的二氧化碳排放量”。 我也試過:
region="wetlands"
plot (1,1,main=paste(expression(CO[2]), "emissions in", region))
但是這里不做下標,標題是:“濕地中的CO[2]排放”。
是否有可能以某種方式將變量的值轉換為表達式?
謝謝你的幫助,
斯文
無需使用paste()
來生成 plothmath 樣式注釋的表達式。 這工作得很好:
region <- "foo"
plot (1, 1, main = bquote(CO[2] ~ "emissions in" ~ .(region)))
給予:
使用paste()
只是礙事。
注意:您必須引用"in"
,否則解析器會將其作為 R 語法的關鍵部分。
您可以使用替代品:
mn <- substitute(CO[2]~ "emissions in" ~ region, list(region="wetlands") )
plot(1, 1, main=mn )
從?substitute
幫助文件:
替代品的典型用途是為數據集和繪圖創建信息標簽。 下面的 myplot 示例顯示了該工具的簡單使用。 它使用函數 deparse 和替換為 plot 創建標簽,這些標簽是實際 arguments 到 function myplot 的字符串版本。
對於您的情況,從重復鏈接的答案之一中竊取:
x <- "OberKrain"
plot(1:10, 1:10, main = bquote(paste(CO[2], " in ", .(x))))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.