From c66c75434b2edc7b2059e8e8e5c82bfa16295bfd Mon Sep 17 00:00:00 2001 From: stepan <stepan.sindelar@oracle.com> Date: Fri, 20 Apr 2018 16:12:38 +0200 Subject: [PATCH] Fix: model.frame creates '(weights)' attribute instead of '( weights )' --- .../src/com/oracle/truffle/r/library/stats/model.R | 2 +- .../src/com/oracle/truffle/r/test/ExpectedTestOutput.test | 8 ++++++++ .../oracle/truffle/r/test/library/stats/TestFormulae.java | 5 +++++ 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/com.oracle.truffle.r.library/src/com/oracle/truffle/r/library/stats/model.R b/com.oracle.truffle.r.library/src/com/oracle/truffle/r/library/stats/model.R index 861b588603..ccd97715e8 100644 --- a/com.oracle.truffle.r.library/src/com/oracle/truffle/r/library/stats/model.R +++ b/com.oracle.truffle.r.library/src/com/oracle/truffle/r/library/stats/model.R @@ -782,7 +782,7 @@ modelframe <- function(formula, rownames, variables, varnames, dots, dotnames, s } data[[j]] <- dots[[i]] - dataNames[[j]] <- paste("(", ss, ")") + dataNames[[j]] <- paste0("(", ss, ")") j <- j + 1L } } else { diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/ExpectedTestOutput.test b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/ExpectedTestOutput.test index 5ef348d3f9..acc052bd1c 100644 --- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/ExpectedTestOutput.test +++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/ExpectedTestOutput.test @@ -163468,6 +163468,14 @@ data frame with 0 columns and 0 rows 9 m 8 c 10 f 9 c +##com.oracle.truffle.r.test.library.stats.TestFormulae.testModelFrameWithWeights# +#model.frame(formula = cyl ~ disp, data = mtcars[1:4,], weights = seq_len(nrow(mtcars[1:4,]))) + cyl disp (weights) +Mazda RX4 6 160 1 +Mazda RX4 Wag 6 160 2 +Datsun 710 4 108 3 +Hornet 4 Drive 6 258 4 + ##com.oracle.truffle.r.test.library.stats.TestFormulae.testModelMatrix# #{y<-0:9;z<-1:10;k<-2:11;w<-3:12;m<-4:13;u<-5:14;v<-6:15;; model.matrix(model.frame(terms.formula(u~z*k+w*m))) } (Intercept) z k w m z:k w:m diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/library/stats/TestFormulae.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/library/stats/TestFormulae.java index f2d4ab6beb..d3a56d60ae 100644 --- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/library/stats/TestFormulae.java +++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/library/stats/TestFormulae.java @@ -115,4 +115,9 @@ public class TestFormulae extends TestBase { public void testDotWithNoFramenames() { assertEval(Output.IgnoreErrorContext, "terms.formula(x ~ .^4)"); } + + @Test + public void testModelFrameWithWeights() { + assertEval("model.frame(formula = cyl ~ disp, data = mtcars[1:4,], weights = seq_len(nrow(mtcars[1:4,])))"); + } } -- GitLab