0
私のlegend()
のifelse()
がなぜ動作しないのでしょうか?私は次のエラーを取得する:ここでifelse()が凡例で動作していないR
**Error in rep(no, length.out = length(ans)) : attempt to replicate an object of type 'language'**
は私の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))
ディネッシュ、おかげで、しかし、これは(bquote 'のために、それをしていませんが)' ')('?bquoteを確認してください '、ここでは'その 'ラウンド()を確保し、' CT [10] BOTH正しく動作します。また、あなたのコードにバグがあると思います。 – rnorouzian
バグは何と思いますか?また、私はbquote()をチェックしました、それはエラーがあった理由でした。 Bquoteは、言語オブジェクトとして提供する引数を評価し、paste()は文字列を返します。伝説の場合、文字列がうまく機能します。 –
Dinesh様、更新していただきありがとうございます。まず、あなたのコードでは '' CT '[10] 'の下付き文字が正しく表示されないようにしています。次に、 'Gi'を' .25'に変更してバグを見つけます。これは、コードの2番目の部分に余分な '.'です。 – rnorouzian