我试图使用facet plot绘制数据子集.它是2列x4行图.第一列的值介于120和150之间,第二列的值介于180和250之间,变量在数据文件中指定为较小或较大.我在向列变量("Lesser","Greater")添加特定标签('120 <=希腊符号(alpha)<= 150','180 <=希腊符号(alpha)<= 250)时遇到问题.我尝试这样做:
require(graphics)
library(ggplot2)
hp <- ggplot2(data) + ....
xlow <- paste("120 <", expression(alpha), " < 150")
xhi <- paste("180 <", expression(alpha), " < 250")
mf_labeller <- function(var, value){
value <- as.character(value)
if (var=="regime") {
value[value=="Lesser"] <- xlow
value[value=="Greater"] <- xhi
}
return(value)
}
(hp %+% data) + facet_grid(param~regime, scales="free", labeller=mf_labeller)
Run Code Online (Sandbox Code Playgroud)
我得到"错误值=="更大":表达式不允许比较".我也尝试过强制数据.如果我以任何方式进行标记:
data2 <- transform(data, regime = factor(regime, levels=c("Lesser", "Greater"), labels=c(expression(paste("120 <", alpha," < 150")), expression("180 < alpha < 250"))))
Run Code Online (Sandbox Code Playgroud)
我逐字逐句地得到了整个表达式,而不是所需的情节.我可能会遗漏一些东西.任何帮助真的很感激!! 先感谢您..
我的样本摘录如下:
regime,param,line,XX,Var,sner
Lesser,Rise,VII,AA,4.968624,0.1275248
Lesser,Rise,VII,BB,3.719405,0.08470305 …Run Code Online (Sandbox Code Playgroud)