0
Мне было интересно, почему ifelse()
в моем legend()
ниже не работает должным образом? Я получаю следующее сообщение об ошибке:ifelse() не работает в Legend 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()', здесь он гарантирует, что 'круглые()' и 'КТ [10]' ОБА работайте правильно. Также я думаю, что в вашем коде есть ошибка. – rnorouzian
Что вы думаете об ошибке? Кроме того, я проверял bquote(), это была причина, по которой у вас была ошибка. Bquote оценивает аргументы, которые вы предоставляете в качестве объекта языка, paste() возвращает строку. Для легенды строка работает лучше. –
Уважаемый Динеш, спасибо за ваше обновление. Во-первых, ваш код не позволяет индексировать в '' CT '[10] ', чтобы показывать правильно, а также пропустил ** полужирный шрифт **. Во-вторых, измените 'Gi' на' .25', чтобы найти ошибку, это дополнительный '.' во второй части вашего кода. – rnorouzian