aboutsummaryrefslogtreecommitdiff
path: root/R
diff options
context:
space:
mode:
authorSun Rui <rui.sun@intel.com>2016-04-19 19:57:03 -0700
committerShivaram Venkataraman <shivaram@cs.berkeley.edu>2016-04-19 19:57:03 -0700
commit8eedf0b553180d0e958b0fb49bc2fee81658495c (patch)
tree952d6c445d3f96d45c523674a76c4d6fe1534445 /R
parent4514aebd1e807a665c270bfdc3f1127b3a1da898 (diff)
downloadspark-8eedf0b553180d0e958b0fb49bc2fee81658495c.tar.gz
spark-8eedf0b553180d0e958b0fb49bc2fee81658495c.tar.bz2
spark-8eedf0b553180d0e958b0fb49bc2fee81658495c.zip
[SPARK-13905][SPARKR] Change signature of as.data.frame() to be consistent with the R base package.
## What changes were proposed in this pull request? Change the signature of as.data.frame() to be consistent with that in the R base package to meet R user's convention. ## How was this patch tested? dev/lint-r SparkR unit tests Author: Sun Rui <rui.sun@intel.com> Closes #11811 from sun-rui/SPARK-13905.
Diffstat (limited to 'R')
-rw-r--r--R/pkg/R/DataFrame.R8
-rw-r--r--R/pkg/R/generics.R5
-rw-r--r--R/pkg/inst/tests/testthat/test_context.R2
-rw-r--r--R/pkg/inst/tests/testthat/test_sparkSQL.R3
4 files changed, 10 insertions, 8 deletions
diff --git a/R/pkg/R/DataFrame.R b/R/pkg/R/DataFrame.R
index ddb056fa71..95e2eb2be0 100644
--- a/R/pkg/R/DataFrame.R
+++ b/R/pkg/R/DataFrame.R
@@ -2296,12 +2296,8 @@ setMethod("fillna",
#' }
setMethod("as.data.frame",
signature(x = "DataFrame"),
- function(x, ...) {
- # Check if additional parameters have been passed
- if (length(list(...)) > 0) {
- stop(paste("Unused argument(s): ", paste(list(...), collapse = ", ")))
- }
- collect(x)
+ function(x, row.names = NULL, optional = FALSE, ...) {
+ as.data.frame(collect(x), row.names, optional, ...)
})
#' The specified DataFrame is attached to the R search path. This means that
diff --git a/R/pkg/R/generics.R b/R/pkg/R/generics.R
index 4ef05d56bf..a71be55bca 100644
--- a/R/pkg/R/generics.R
+++ b/R/pkg/R/generics.R
@@ -397,7 +397,10 @@ setGeneric("arrange", function(x, col, ...) { standardGeneric("arrange") })
#' @rdname as.data.frame
#' @export
-setGeneric("as.data.frame")
+setGeneric("as.data.frame",
+ function(x, row.names = NULL, optional = FALSE, ...) {
+ standardGeneric("as.data.frame")
+ })
#' @rdname attach
#' @export
diff --git a/R/pkg/inst/tests/testthat/test_context.R b/R/pkg/inst/tests/testthat/test_context.R
index 6e06c974c2..9f51161230 100644
--- a/R/pkg/inst/tests/testthat/test_context.R
+++ b/R/pkg/inst/tests/testthat/test_context.R
@@ -26,7 +26,7 @@ test_that("Check masked functions", {
maskedBySparkR <- masked[funcSparkROrEmpty]
namesOfMasked <- c("describe", "cov", "filter", "lag", "na.omit", "predict", "sd", "var",
"colnames", "colnames<-", "intersect", "rank", "rbind", "sample", "subset",
- "summary", "transform", "drop", "window")
+ "summary", "transform", "drop", "window", "as.data.frame")
expect_equal(length(maskedBySparkR), length(namesOfMasked))
expect_equal(sort(maskedBySparkR), sort(namesOfMasked))
# above are those reported as masked when `library(SparkR)`
diff --git a/R/pkg/inst/tests/testthat/test_sparkSQL.R b/R/pkg/inst/tests/testthat/test_sparkSQL.R
index d747d4f83f..2f65484fcb 100644
--- a/R/pkg/inst/tests/testthat/test_sparkSQL.R
+++ b/R/pkg/inst/tests/testthat/test_sparkSQL.R
@@ -1863,6 +1863,9 @@ test_that("Method as.data.frame as a synonym for collect()", {
expect_equal(as.data.frame(irisDF), collect(irisDF))
irisDF2 <- irisDF[irisDF$Species == "setosa", ]
expect_equal(as.data.frame(irisDF2), collect(irisDF2))
+
+ # Make sure as.data.frame in the R base package is not covered
+ expect_that(as.data.frame(c(1, 2)), not(throws_error()))
})
test_that("attach() on a DataFrame", {