[R] convert a splus randomforest object to R
Zhiming Ni
ZNi at scanhealthplan.com
Tue Aug 9 23:30:54 CEST 2011
In Splus the randomForest package version is 4.5-18; in R randomForest
version is 4.6-2. I'm using R version 2.13.1.
After restore the randomForest object into R using data.restore(), below
are str(cost.rf) outputs,
List of 17
$ call : language randomForest(x =
train.roughfix[stop("Argument '' is missing"), -1L], y =
train.roughfix[stop("Argument '' is missing"), ...
$ type : chr "regression"
$ predicted : atomic [1:51368] 23921 8884 2799 4432 7201 ...
..- attr(*, ".Names")= chr [1:51368] "1" "2" "3" "4" ...
$ mse : num [1:500] 1.65e+09 9.76e+08 7.70e+08 6.77e+08
6.22e+08 ...
$ rsq : num [1:500] -1.952 -0.747 -0.379 -0.213 -0.114 ...
$ oob.times : int [1:51368] 185 190 189 176 182 184 164 200 189
200 ...
$ importance : num [1:78, 1:2] 1040619 34174 148774 48116 235056
...
..- attr(*, "dimnames")=List of 2
.. ..$ : chr [1:78] "Age" "AntiarrhythmicsC" "AntiarrhythmicsDays"
"AntiarrhythmicsIIIC" ...
.. ..$ : chr [1:2] "%IncMSE" "IncNodePurity"
$ importanceSD : atomic [1:78] 308517 9618 43424 11313 101015 ...
..- attr(*, ".Names")= chr [1:78] "Age" "AntiarrhythmicsC"
"AntiarrhythmicsDays" "AntiarrhythmicsIIIC" ...
$ localImportance: num [1:78, 1:51368] 0 0 0 0 0 0 0 0 0 0 ...
..- attr(*, "dimnames")=List of 2
.. ..$ : chr [1:78] "Age" "AntiarrhythmicsC" "AntiarrhythmicsDays"
"AntiarrhythmicsIIIC" ...
.. ..$ : chr [1:51368] "1" "2" "3" "4" ...
$ proximity : symbol proximity
$ ntree : int 500
$ mtry : num 6
$ forest : atomic [1:10] c(525, 525, 525, 525, 525, 5
structure(c(-3, -3, -3, -3, H structure(c(2, 4, 6, 8, 10, H
structure(c(3, 5, 7, 9, 11, H ...
..- attr(*, ".Names")= chr [1:10] "ndbigtree" "nodestatus"
"leftDaughter" "rightDaughter" ...
$ coefs : symbol coefs
$ y : num [1:51368] 26697 28758 611 1035 12483 ...
$ test : symbol test
$ inbag : symbol inbag
- attr(*, "class")= chr "randomForest"
I tried dump() in Splus then source() in R as well, but the source()
function returns error:
Error in attributes(.Data) <- c(attributes(.Data), attrib) :
attributes must be named
Thanks,
Jimmy
-----Original Message-----
From: Liaw, Andy [mailto:andy_liaw at merck.com]
Sent: Tuesday, August 09, 2011 12:12 PM
To: Zhiming Ni; r-help at r-project.org
Subject: RE: convert a splus randomforest object to R
You really need to follow the suggestions in the posting guide to get
the best help from this list.
Which versions of randomForest are you using in S-PLUS and R? Which
version of R are you using? When you restore the object into R, what
does str(object) say? Have you also tried dump()/source() as the R Data
Import/Export manual suggests?
Andy
> -----Original Message-----
> From: r-help-bounces at r-project.org
> [mailto:r-help-bounces at r-project.org] On Behalf Of Zhiming Ni
> Sent: Tuesday, August 02, 2011 8:11 PM
> To: r-help at r-project.org
> Subject: [R] convert a splus randomforest object to R
>
> Hi,
>
> I have a randomforest object "cost.rf" that was created in splus 8.0,
> now I need to use this trained RF model in R. So in Splus, I dump the
> RF file as below
>
> data.dump("cost.rf", file="cost.rf.txt", oldStyle=T)
>
> then in R, restore the dumped file,
>
> library(foreign)
>
> data.restore("cost.rf.txt")
>
> it works fine and able to restore the "cost.rf" object. But when I try
> to pass a new data through this randomforest object using predict()
> function, it gives me error message.
>
> in R:
>
> library(randomForest)
> set.seed(2211)
>
> pred <- predict(cost.rf, InputData[ , ])
>
> Error in object$forest$cutoff : $ operator is invalid for atomic
> vectors
>
>
> Looks like after restoring the dump file, the object is not compatible
> in R. Have anyone successfully converted a splus randomforest object
> to R? what will be the appropriate method to do this?
>
> Thanks in advance.
>
> Jimmy
>
> ==========================================
> This communication contains information that is confidential, and
> solely for the use of the intended recipient. It may contain
> information that is privileged and exempt from disclosure under
> applicable law. If you are not the intended recipient of this
> communication, please be advised that any disclosure, copying,
> distribution or use of this communication is strictly prohibited.
> Please also immediately notify SCAN Health Plan at 1-800-247-5091,
> x5263 and return the communication to the originating address.
> Thank You.
> ==========================================
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at r-project.org mailing list
> 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.
>
Notice: This e-mail message, together with any attachme...{{dropped:24}}
More information about the R-help
mailing list