[Rd] Passing a call as label to text() works differently when the call involves paste() vs paste0()

Viechtbauer, Wolfgang (NP) wo||g@ng@v|echtb@uer @end|ng |rom m@@@tr|chtun|ver@|ty@n|
Mon Sep 5 15:59:56 CEST 2022


Got it, thanks!

Best,
Wolfgang

>-----Original Message-----
>From: Duncan Murdoch [mailto:murdoch.duncan using gmail.com]
>Sent: Monday, 05 September, 2022 15:49
>To: Viechtbauer, Wolfgang (NP); R-devel using r-project.org
>Subject: Re: [Rd] Passing a call as label to text() works differently when the
>call involves paste() vs paste0()
>
>On 05/09/2022 9:36 a.m., Viechtbauer, Wolfgang (NP) wrote:
>> Hi all,
>>
>> Maybe a bit of an esoteric observation, but the second one doesn't work
>properly:
>>
>> x <- 2
>> plot(NA, xlim=c(0,1), ylim=c(0,1))
>> text(0.5, 0.55, bquote(paste("x =", .(x))))
>> text(0.5, 0.45, bquote(paste0("x = ", .(x))))
>>
>> Note that this has nothing to do in particular with bquote(). This is the same
>issue:
>>
>> plot(NA, xlim=c(0,1), ylim=c(0,1))
>> text(0.5, 0.55, as.call(list(quote(paste), "x =", 2)))
>> text(0.5, 0.45, as.call(list(quote(paste0), "x = ", 2)))
>>
>> I had a look at C_text in plot.c, but couldn't figure out why the second one is
>treated differently.
>
>You're using plotmath code, which is documented in ?plotmath.
>
>It doesn't execute paste(), it just uses that name for a similar
>operation.  There's no operation named paste0(), so that doesn't work.
>
>The paste() operation doesn't add space, so it's more like paste0() in
>any case.
>
>Duncan Murdoch


More information about the R-devel mailing list