On 2020-08-21 16:22 +1200, Abby Spurdle wrote:
| On Fri, Aug 21, 2020 at 4:16 PM Abby Spurdle <spurdl...@gmail.com> wrote:
| | On Fri, Aug 21, 2020 at 1:06 PM Sparks, John <jspa...@uic.edu> wrote:
| | |
| | | Hi R Helpers,
| | |
| | | I wanted to try the rotationForest 
| | | package.
| | |
| | | I pointed it at my data set and 
| | | got the error message "Error in if 
| | | (K >= ncol(x)) stop("K should not 
| | | be greater than or equal to the 
| | | number of columns in x") :
| | |   argument is of length zero'.
| | |
| | | My dataset has 3688 obs. of  111 variables.
| | |
| | | Would a quick adjustment to the 
| | | default value of K resolve this?
| | |
| | | If anybody with more experience 
| | | with the package than me has a 
| | | general suggestion I would 
| | | appreciate it.
| |
| | Note that I'm not familiar with this 
| | package or the method.  Also note 
| | that you haven't told anyone what 
| | function you're using, or what your 
| | call was.
| |
| | I'm assuming that you're using the 
| | rotationForest() function.  
| | According to its help page, the 
| | default is:
| |
| |     K = round(ncol(x)/3, 0)
| |
| | There's no reason why the default K 
| | value should be higher than the 
| | number of columns, unless:
| | (1) There's a bug with the package; or
| | (2) There's a problem with your input.
| |
| | I note that the package is only 
| | version 0.1.3, so a bug is not out 
| | of the question.  Also, I'm a little 
| | surprised the author didn't use 
| | integer division:
| |
| |     K = ncol(x) %/% 3
| |
| | You could just set K to the above 
| | value, and see what happens...
| 
| Just re-read your question and 
| realized I misread the error message.  
| The argument is of zero length.
| 
| But the conclusion is the same, either 
| a bug in the package, or a problem 
| with your input.

Dear John,

check to see if your columns only has 
numbers in them like the *de jure* iris 
dataset used in the example in 
?rotationForest::rotationForest.

        idx <- 1:100
        idx.new <- which(!(1:nrow(iris) %in% idx))
        y <- as.factor(ifelse(iris$Species[idx]=="setosa", 0, 1))
        x <- iris[idx, -5]
        newdata <- iris[idx.new, -5]
        K <- ncol(x) %/% 3
        L <- 100
        rF <-
          rotationForest::rotationForest(
            x=x,
            y=y,
            K=K,
            L=L)
        predict(object=rF, newdata=newdata)

Best,
Rasmus

______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to