Skip to content

[R-pkg-devel] Possible unknown color in r

9 messages · Sebastian Meyer, Joris Meys, Berry Boessenkool +2 more

#
Dear all,

In the last submission of my package the CRAN team has suggested including
some references in the description field of the DESCRIPTION file.
When I submitted it to CRAN it did not pass the incoming checks
automatically and I got the following WARNING.

 

Quitting from lines 108-117 (vignettes_metan.Rmd) 

Error: processing vignette 'vignettes_metan.Rmd' failed with diagnostics:

Unknown colour name: transparent

 

It seems that this warning is related to a function with the argument
'col.segm.gen = "transparent"'.

I don't changed anything in this function and in the last submissions no
warning was related.

For curiosity I ran:
[,1]

red    255

green  255

blue     0
[,1]

red    255

green  255

blue   255

 

No warnings or errors were observed while running devtools::check_rhub(),
devtools::check_win_devel(), and devtools::check_win_release()

Any suggestion?

Best,

Tiago
#
Hi Tiago,

Without knowing which package you're talking about or a link to the check results, it's impossible to know whether that warning is a proper one or a side effect of something else. 

In general though: it is well known that relying on devtools is not enough for a good CRAN submission. The guidelines for CRAN clearly state :

"Please ensure that R CMD check --as-cran has been run on the tarball to be uploaded before submission. This should be done with the current version of R-devel (or if that is not possible and explained in the submission, current R-patched or the current release of R.)"

So before submitting a package to CRAN and after running your devtools:: check_etc, open a terminal and run the following commands:

R CMD build path_to_pkg_folder
R CMD check --as-cran package_version.tar.gz

The --as-cran is important, as is doing so against a R-devel. I use devtools myself extensively, but these checks have to be done outside the RStudio ecosystem to be sure.

Kind regards
Joris

--
Joris Meys
Statistical consultant

Department of Data Analysis and Mathematical Modelling
Ghent University
Coupure Links 653, B-9000 Gent (Belgium)
------------------------------

Disclaimer : http://helpdesk.ugent.be/e-maildisclaimer.php
#
Hi Joris,
Thank you so much for your assistance.
I've built and checked my package with:
R CMD build /d/Desktop/metan
R CMD check --as-cran metan_1.2.1.tar.gz

No WARNINGS were observed. Please, see the log file attached.
Sorry for failing in providing the link to access the check results in the
last email. You can see the link to the test that doesn't pass bellow.

Dear maintainer,
 package metan_1.2.1.tar.gz does not pass the incoming checks automatically,
please see the following pre-tests:
Windows:
<https://win-builder.r-project.org/incoming_pretest/metan_1.2.1_20200109_043
153/Windows/00check.log>

Status: 1 WARNING, 1 NOTE
Debian:
<https://win-builder.r-project.org/incoming_pretest/metan_1.2.1_20200109_043
153/Debian/00check.log>

It sounds strange because in the last submissions the package passed in the
incoming checks, and the only change I've made from v1.2.0 to 1.2.1 was
adding some references in the description file.
Best regards,
Tiago

-----Mensagem original-----
De: Joris Meys <Joris.Meys at UGent.be> 
Enviada em: sexta-feira, 10 de janeiro de 2020 09:23
Para: r-package-devel at r-project.org; tiagoolivoto at gmail.com
Assunto: Re: [R-pkg-devel] Possible unknown color in r

Hi Tiago,

Without knowing which package you're talking about or a link to the check
results, it's impossible to know whether that warning is a proper one or a
side effect of something else. 

In general though: it is well known that relying on devtools is not enough
for a good CRAN submission. The guidelines for CRAN clearly state :

"Please ensure that R CMD check --as-cran has been run on the tarball to be
uploaded before submission. This should be done with the current version of
R-devel (or if that is not possible and explained in the submission, current
R-patched or the current release of R.)"

So before submitting a package to CRAN and after running your devtools::
check_etc, open a terminal and run the following commands:

R CMD build path_to_pkg_folder
R CMD check --as-cran package_version.tar.gz

The --as-cran is important, as is doing so against a R-devel. I use devtools
myself extensively, but these checks have to be done outside the RStudio
ecosystem to be sure.

Kind regards
Joris

--
Joris Meys
Statistical consultant

Department of Data Analysis and Mathematical Modelling Ghent University
Coupure Links 653, B-9000 Gent (Belgium)
------------------------------

Disclaimer : http://helpdesk.ugent.be/e-maildisclaimer.php
#
Hi Tiago,

Then it seems likely that an update of a direct or indirect dependency
of your package causes this failure on CRAN's check system.

ggplot2 currently fails with a similar error message on CRAN
(https://cran.r-project.org/web/checks/check_results_ggplot2.html)

This again seems to come from an update of the "farver" package which is
an indirect dependency of ggplot2 via package "scales"...

So maybe if you update your local installation of "farver" to version
2.0.2 from CRAN, you might be able to reproduce the error.

What I find a bit strange is that the CRAN package website displays
version 2.0.1 while the newer version 2.0.2 can be found in the package
archive.

Best regards,

	Sebastian


Am 10.01.20 um 14:17 schrieb Tiago Olivoto:
#
Hi Tiago,

It's indeed that. For some reason col2rgb() knows the unofficial "transparent". Replace this with the correct value from the vector colors(), i.e. "white". "transparent" is not mentioned in that vector, so it shouldn't be used in a package. See also ?rgb2col and ?colors.

Cheers
Joris

--
Joris Meys
Statistical consultant

Department of Data Analysis and Mathematical Modelling
Ghent University
Coupure Links 653, B-9000 Gent (Belgium)
------------------------------

Disclaimer : http://helpdesk.ugent.be/e-maildisclaimer.php
#
Hi Joris,
Thank you for your suggestions.
After installing the version v 2.0.2 of "farver" I was able to reproduce the
WARNING.
To fix this issue, I created a simple helper function:
transparent_color <- function() {
  return("#000000FF")
}
And changed "transparent" with "transparent_color()" in my R scripts.
After, I built and check again with 'R CMD check --as-cran
metan_1.2.1.tar.gz' and no longer WARNINGS were observed.
Thanks again,
Tiago

-----Mensagem original-----
De: Joris Meys <Joris.Meys at UGent.be> 
Enviada em: sexta-feira, 10 de janeiro de 2020 10:57
Para: r-package-devel at r-project.org; tiagoolivoto at gmail.com
Assunto: Re: [R-pkg-devel] Possible unknown color in r

Hi Tiago,

It's indeed that. For some reason col2rgb() knows the unofficial
"transparent". Replace this with the correct value from the vector colors(),
i.e. "white". "transparent" is not mentioned in that vector, so it shouldn't
be used in a package. See also ?rgb2col and ?colors.

Cheers
Joris

--
Joris Meys
Statistical consultant

Department of Data Analysis and Mathematical Modelling Ghent University
Coupure Links 653, B-9000 Gent (Belgium)
------------------------------

Disclaimer : http://helpdesk.ugent.be/e-maildisclaimer.php
#
Side Note:

plot(1, col="#000000FF", cex=4, pch=16)

is black on my machine.
The last two values are alpha (I think) and should be 00 for transparency.

Instead of writing an extra function, you could also use col=NA.

Berry
#
Hi Berry, 

Thank you for the note.

When I run my example code with transparent_color() all was working (the
color was transparent).

Now, reproducing the code again it becomes black. Could be this be changed
after package "farver" be updated to v. 2.0.2?

You is right regarding the use of col = NA. I have some functions that uses
ggplot2 and col = NA works with lines

 

library(ggplot2)

ggplot(mpg, aes(displ, hwy)) + 

  geom_smooth(color = NA, method = "lm")

 

but return a warning message with points

ggplot(mpg, aes(displ, hwy)) + 

  geom_point(color = NA)

# Warning message:

# Removed 234 rows containing missing values (geom_point).

 

It seems that the correct "transparent" color I was looking for can be set
without a warning with "#FFFFFF00"

ggplot(mpg, aes(displ, hwy)) + 

  geom_point(color = "#FFFFFF00")

Thanks for the tips.

Tiago.

 

De: Berry Boessenkool <berryboessenkool at hotmail.com> 
Enviada em: sexta-feira, 10 de janeiro de 2020 15:42
Para: 'Joris Meys' <Joris.Meys at UGent.be>; r-package-devel at r-project.org;
tiagoolivoto at gmail.com
Assunto: Re: [R-pkg-devel] RES: Possible unknown color in r

 

 

Side Note: 

plot(1, col="#000000FF", cex=4, pch=16)

is black on my machine.

The last two values are alpha (I think) and should be 00 for transparency.

 

Instead of writing an extra function, you could also use col=NA.

 

Berry

 

  _____  

From: R-package-devel <r-package-devel-bounces at r-project.org
<mailto:r-package-devel-bounces at r-project.org> > on behalf of Tiago Olivoto
<tiagoolivoto at gmail.com <mailto:tiagoolivoto at gmail.com> >
Sent: Friday, January 10, 2020 18:05
To: 'Joris Meys' <Joris.Meys at UGent.be <mailto:Joris.Meys at UGent.be> >;
r-package-devel at r-project.org <mailto:r-package-devel at r-project.org>
<r-package-devel at r-project.org <mailto:r-package-devel at r-project.org> >
Subject: [R-pkg-devel] RES: Possible unknown color in r 

 

Hi Joris,
Thank you for your suggestions.
After installing the version v 2.0.2 of "farver" I was able to reproduce the
WARNING.
To fix this issue, I created a simple helper function:
transparent_color <- function() {
  return("#000000FF")
}
And changed "transparent" with "transparent_color()" in my R scripts.
After, I built and check again with 'R CMD check --as-cran
metan_1.2.1.tar.gz' and no longer WARNINGS were observed.
Thanks again,
Tiago

-----Mensagem original-----
De: Joris Meys <Joris.Meys at UGent.be <mailto:Joris.Meys at UGent.be> > 
Enviada em: sexta-feira, 10 de janeiro de 2020 10:57
Para: r-package-devel at r-project.org <mailto:r-package-devel at r-project.org> ;
tiagoolivoto at gmail.com <mailto:tiagoolivoto at gmail.com> 
Assunto: Re: [R-pkg-devel] Possible unknown color in r

Hi Tiago,

It's indeed that. For some reason col2rgb() knows the unofficial
"transparent". Replace this with the correct value from the vector colors(),
i.e. "white". "transparent" is not mentioned in that vector, so it shouldn't
be used in a package. See also ?rgb2col and ?colors.

Cheers
Joris

--
Joris Meys
Statistical consultant

Department of Data Analysis and Mathematical Modelling Ghent University
Coupure Links 653, B-9000 Gent (Belgium)
------------------------------

Disclaimer : http://helpdesk.ugent.be/e-maildisclaimer.php
1 day later
#
Don't worry, this is an issue that trhe CRAN incoimng checks have not 
uncovered with a new farvber version. As we found the breakage later in 
regular checks, the farver package has been rolled back on CRAN, hence 
pls simpy ignore the problem for your own packages.

Best,
Uwe Ligges
On 10.01.2020 20:44, Tiago Olivoto wrote: