ifelse()在图例R中不工作
我想知道为什么我下面的ifelse()在图例R中不工作,r,plot,R,Plot,我想知道为什么我下面的legend()中的ifelse()不能正常工作?我得到以下错误: **代表中出现错误(否,length.out=length(ans)): 尝试复制“语言”类型的对象*** 这是我的R代码: Gi <- 2 plot(1:10,ty="n") legend("topright", legend=ifelse(Gi>1, ## ! ifelse() Not Working HERE ! ## bquote(paste("E
legend()
中的ifelse()
不能正常工作?我得到以下错误:
**代表中出现错误(否,length.out=length(ans)):
尝试复制“语言”类型的对象***
这是我的R代码:
Gi <- 2
plot(1:10,ty="n")
legend("topright",
legend=ifelse(Gi>1, ## ! ifelse() Not Working HERE ! ##
bquote(paste("Evidence favors A: ",bold('CT'[10]),
" = ", .(round(Gi,3)))),
bquote(paste("Evidence favors B: ",bold('CT'[01]),
" = ", .(round(1/Gi,3))))),
pch = " ",cex=1.5, bty="n", inset=c(.005,-.05))
gi1,##!如果其他人不在这里工作##
bquote(粘贴(“证据有利于A:”,粗体('CT'[10]),
“=”,(圆形(Gi,3)),
bquote(粘贴(“证据有利于B:”,粗体('CT'[01]),
“=”,(圆形(1/Gi,3‘‘‘‘‘)),
pch=“”,cex=1.5,bty=“n”,插图=c(.005,-.05))
我不确定bquote()函数为您做了什么,但我稍微更改了您的代码,并使图例显示在绘图上
这是代码,如果您认为正确,请告诉我
Gi <- 2
plot(1:10,ty="n")
l <- ifelse(Gi>1, paste0("Evidence favors A: ",'CT[10]'," = ", (round(Gi,3))),
paste0("Evidence favors B: ",'CT[01]'," = ",(round(1/Gi,3))))
legend("topright", legend=l, pch = " ",cex=1.5, bty="n", inset=c(.005,-.05))
Gi-Dinesh,谢谢,但这不行,因为bquote()
请检查?bquote()
,这里它确保round()
和CT[10]
都能正常工作。我猜你的代码中有一个bug。你认为这个bug是什么?此外,我确实检查了bquote(),这就是您出错的原因。Bquote对作为语言对象提供的参数求值,paste()返回一个字符串。对于一个传奇,字符串效果更好。亲爱的迪内什,谢谢你的更新。首先,您的代码不允许正确显示'CT'[10]
中的下标,并且跳过了粗体显示。其次,将Gi
更改为.25
以查找bug,它是第二段代码中额外的
。