Hi Martin,

thank you for this approach. I will check my code and see where I can use it.

Tobias

Am 12.02.19 um 14:58 schrieb Martin Morgan:
use `globalVariables()` to declare these symbols and quieten warnings, at the 
expense of quietening warnings about undefined variables in _all_ code and 
potentially silencing true positives. Avoid non-standard evaluation (this is 
what ddply is doing, using special rules to resolve symbols like `name`) by 
using base R functionality; note also that non-standard evaluation is prone to 
typos, e.g., looking for the typo `hpx` in the calling environment rather than 
the data frame

hpx = 1
ddply(mtcars, "cyl", "summarize", value = mean(hpx)).  ## oops, meant 
`mean(hp)`.
   cyl summarize
1   4         1
2   6         1
3   8         1

Marginally better is

aggregate(hp ~ cyl, mtcars, mean)
   cyl        hp
1   4  82.63636
2   6 122.28571
3   8 209.21429

where R recognizes symbols in the formula ~ as intentionally unresolved. The 
wizards on the list might point to constructs in the rlang package.

Martin

On 2/12/19, 2:35 AM, "Bioc-devel on behalf of web working" 
<bioc-devel-boun...@r-project.org on behalf of webwork...@posteo.de> wrote:

     Hi,
I am developing a Bioconductor package and can not get rid of some
     warning messages. During devtools::check() I get the following warning
     messages:
...
     summarizeDataFrame: no visible binding for global variable ‘name’
     summarizeDataFrame: no visible binding for global variable ‘gene’
     summarizeDataFrame: no visible binding for global variable ‘value’
     ...
Here a short version of the function: #' Collapse rows with duplicated name column
     #'
     #' @param dat a \cite{tibble} with the columns name, gene and value
     #' @importFrom plyr ddply
     #' @import tibble
     #' @return a \cite{tibble}
     #' @export
     #'
     #' @examples
     #' dat <- tibble(name = c(paste0("position", 1:5), paste0("position",
     c(1:3))), gene = paste0("gene", 1:8), value = 1:8)
     #' summarizeDataFrame(dat)
     summarizeDataFrame <- function(dat){
        ddply(dat, "name", "summarize",
              name=unique(name),
              gene=paste(unique(gene), collapse = ","),
              value=mean(value))
     }
R interprets the "name", "gene" and "value" column names as variables
     during the check. Does anyone has an idea how to change the syntax of
     ddply or how to get rid of the warning message?
Thanks in advance! Tobias _______________________________________________
     Bioc-devel@r-project.org mailing list
     https://stat.ethz.ch/mailman/listinfo/bioc-devel


_______________________________________________
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel

Reply via email to