From f4741f626856faa2f9d2fad1565bdc2129633b16 Mon Sep 17 00:00:00 2001 From: Nicolau Manubens Date: Tue, 20 Nov 2018 15:57:39 +0100 Subject: [PATCH 1/3] Hotfixes for CRAN. --- DESCRIPTION | 18 ++++++++++++++++-- NAMESPACE | 1 + R/Apply.R | 7 +++++-- README.md | 4 ++-- tests/testthat/test-use-cases.R | 4 +++- 5 files changed, 27 insertions(+), 7 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index 31dcd94..c913d1d 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,12 +1,26 @@ Package: multiApply Title: Apply Functions to Multiple Multidimensional Arrays or Vectors Version: 2.0.0 -Authors@R: c( +Authors@R: c( person("BSC-CNS", role = c("aut", "cph")), person("Nicolau", "Manubens", , "nicolau.manubens@bsc.es", role = "aut"), person("Alasdair", "Hunter", , "alasdair.hunter@bsc.es", role = "aut"), person("Nuria", "Perez", , "nuria.perez@bsc.es", role = "cre")) -Description: The base apply function and its variants, as well as the related functions in the 'plyr' package, typically apply user-defined functions to a single argument (or a list of vectorized arguments in the case of mapply). The 'multiApply' package extends this paradigm with its only function, Apply, which efficiently applies functions taking one or a list of multiple unidimensional or multidimensional numeric arrays (or combinations thereof) as input. The input arrays can have different numbers of dimensions as well as different dimension lengths, and the applied function can return one or a list of unidimensional or multidimensional arrays as output. This saves development time by preventing the R user from writing often error-prone and memory-unefficient loops dealing with multiple complex arrays. Also, a remarkable feature of Apply is the transparent use of multi-core through its parameter 'ncores'. In contrast to the base apply function, this package suggests the use of 'target dimensions' as opposite to the 'margins' for specifying the dimensions relevant to the function to be applied. +Description: The base apply function and its variants, as well as the related + functions in the 'plyr' package, typically apply user-defined functions to a + single argument (or a list of vectorized arguments in the case of mapply). The + 'multiApply' package extends this paradigm with its only function, Apply, which + efficiently applies functions taking one or a list of multiple unidimensional + or multidimensional numeric arrays (or combinations thereof) as input. The input + arrays can have different numbers of dimensions as well as different dimension + lengths, and the applied function can return one or a list of unidimensional or + multidimensional arrays as output. This saves development time by preventing the + R user from writing often error-prone and memory-inefficient loops dealing with + multiple complex arrays. Also, a remarkable feature of Apply is the transparent + use of multi-core through its parameter 'ncores'. In contrast to the base apply + function, this package suggests the use of 'target dimensions' as opposite + to the 'margins' for specifying the dimensions relevant to the function to be + applied. Depends: R (>= 3.2.0) Imports: diff --git a/NAMESPACE b/NAMESPACE index 12eb9c5..ffae945 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -5,3 +5,4 @@ importFrom(doParallel,registerDoParallel) importFrom(foreach,registerDoSEQ) importFrom(plyr,llply) importFrom(plyr,splat) +importFrom(utils,capture.output) diff --git a/R/Apply.R b/R/Apply.R index 876c8f4..e130e90 100644 --- a/R/Apply.R +++ b/R/Apply.R @@ -29,6 +29,7 @@ #' @importFrom foreach registerDoSEQ #' @importFrom doParallel registerDoParallel #' @importFrom plyr splat llply +#' @importFrom utils capture.output Apply <- function(data, target_dims = NULL, fun, ..., output_dims = NULL, margins = NULL, guess_dim_names = TRUE, ncores = NULL, split_factor = 1) { @@ -527,8 +528,10 @@ Apply <- function(data, target_dims = NULL, fun, ..., if (!is.null(component_dims)) { atomic_fun_out_dims[[component]] <- component_dims } - sub_arrays_of_results[[component]][(1:prod(component_dims)) + - (n - 1) * prod(component_dims)] <- result[[component]] + if (length(result[[component]]) > 0) { + sub_arrays_of_results[[component]][(1:prod(component_dims)) + + (n - 1) * prod(component_dims)] <- result[[component]] + } } if (!found_first_sub_result) { found_first_sub_result <- TRUE diff --git a/README.md b/README.md index 99d3eab..ccfe4ae 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -## multiApply [![build status](https://earth.bsc.es/gitlab/ces/multiApply/badges/master/build.svg)](https://earth.bsc.es/gitlab/ces/multiApply/commits/master) [![CRAN version](http://www.r-pkg.org/badges/version/multiApply)](https://cran.r-project.org/package=multiApply) [![coverage report](https://earth.bsc.es/gitlab/ces/multiApply/badges/master/coverage.svg)](https://earth.bsc.es/gitlab/ces/multiApply/commits/master) [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) [![CRAN RStudio Downloads](https://cranlogs.r-pkg.org/badges/multiApply)](https://cran.rstudio.com/web/packages/multiApply/index.html) +## multiApply [![build status](https://earth.bsc.es/gitlab/ces/multiApply/badges/master/build.svg)](https://earth.bsc.es/gitlab/ces/multiApply/commits/master) [![CRAN version](http://www.r-pkg.org/badges/version/multiApply)](https://cran.r-project.org/package=multiApply) [![coverage report](https://earth.bsc.es/gitlab/ces/multiApply/badges/master/coverage.svg)](https://earth.bsc.es/gitlab/ces/multiApply/commits/master) [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) [![CRAN RStudio Downloads](https://cranlogs.r-pkg.org/badges/multiApply)](https://cran.r-project.com/web/packages/multiApply/index.html) -This package includes the function `Apply` as its only function. It extends the `apply` function to applications in which a function needs to be applied simultaneously over multiple input arrays. Although this can be done manually with for loops and calls to the base `apply` function, it can often be a challenging task which can easily result in error-prone or memory-unefficient code. +This package includes the function `Apply` as its only function. It extends the `apply` function to applications in which a function needs to be applied simultaneously over multiple input arrays. Although this can be done manually with for loops and calls to the base `apply` function, it can often be a challenging task which can easily result in error-prone or memory-inefficient code. A very simple example follows showing the kind of situation where `Apply` can be useful: imagine you have two arrays, each containing five 2x2 matrices, and you want to perform the multiplication of each of the five pairs of matrices. Next, one of the best ways to do this with base R (plus some helper libraries): diff --git a/tests/testthat/test-use-cases.R b/tests/testthat/test-use-cases.R index 22aa8ca..2b27f58 100644 --- a/tests/testthat/test-use-cases.R +++ b/tests/testthat/test-use-cases.R @@ -1200,7 +1200,9 @@ test_that("in1: 2 dim; in2: 1 dim; targ. dims: 0-2, 0-1; out1: 1 dim; out2: 1 va # Real cases test_that("real use case - standardization", { standardization <- function(x, mean, deviation){ - (x - mean) / deviation + r <- (x - mean) / deviation + names(dim(r)) <- NULL + r } x <- array(1:(2*3*4), dim = c(mod = 2, lon = 3, lat = 4)) -- GitLab From b1d98f2b7df8dac9df97408cbe94090b104e3c8a Mon Sep 17 00:00:00 2001 From: Nicolau Manubens Date: Tue, 20 Nov 2018 16:06:16 +0100 Subject: [PATCH 2/3] Bumped to v2.0.1 for CRAN. --- DESCRIPTION | 2 +- multiApply-manual.pdf | Bin 72238 -> 72020 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/DESCRIPTION b/DESCRIPTION index c913d1d..b49b7f5 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,6 +1,6 @@ Package: multiApply Title: Apply Functions to Multiple Multidimensional Arrays or Vectors -Version: 2.0.0 +Version: 2.0.1 Authors@R: c( person("BSC-CNS", role = c("aut", "cph")), person("Nicolau", "Manubens", , "nicolau.manubens@bsc.es", role = "aut"), diff --git a/multiApply-manual.pdf b/multiApply-manual.pdf index c1ab41cb14670fb7d596548390f3070814cc0963..8fabe141a52cc70c0e91997c670591579bd8489b 100644 GIT binary patch delta 27222 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 X{Z~39E+`=^I|nl?1% delta 27436 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 rM}cOIK Date: Wed, 21 Nov 2018 18:14:02 +0100 Subject: [PATCH 3/3] Small docfix for CRAN. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ccfe4ae..6258c19 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -## multiApply [![build status](https://earth.bsc.es/gitlab/ces/multiApply/badges/master/build.svg)](https://earth.bsc.es/gitlab/ces/multiApply/commits/master) [![CRAN version](http://www.r-pkg.org/badges/version/multiApply)](https://cran.r-project.org/package=multiApply) [![coverage report](https://earth.bsc.es/gitlab/ces/multiApply/badges/master/coverage.svg)](https://earth.bsc.es/gitlab/ces/multiApply/commits/master) [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) [![CRAN RStudio Downloads](https://cranlogs.r-pkg.org/badges/multiApply)](https://cran.r-project.com/web/packages/multiApply/index.html) +## multiApply [![build status](https://earth.bsc.es/gitlab/ces/multiApply/badges/master/build.svg)](https://earth.bsc.es/gitlab/ces/multiApply/commits/master) [![CRAN version](http://www.r-pkg.org/badges/version/multiApply)](https://cran.r-project.org/package=multiApply) [![coverage report](https://earth.bsc.es/gitlab/ces/multiApply/badges/master/coverage.svg)](https://earth.bsc.es/gitlab/ces/multiApply/commits/master) [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) [![CRAN RStudio Downloads](https://cranlogs.r-pkg.org/badges/multiApply)](https://cran.r-project.org/package=multiApply) This package includes the function `Apply` as its only function. It extends the `apply` function to applications in which a function needs to be applied simultaneously over multiple input arrays. Although this can be done manually with for loops and calls to the base `apply` function, it can often be a challenging task which can easily result in error-prone or memory-inefficient code. -- GitLab