All --

I have been trying to work with the 'Party' package using R v2.15.1 and have 
cobbled together a (somewhat) functioning code from examples on the web.  I 
need to run a series of unbiased, conditional, cForest tests on several subsets 
of data which I have made into a loop.  The results ideally will be saved to an 
output file in matrix form.  The two questions regarding the script in question 
(script below) include:

1). After the cForest prints the initial results the error below is displayed:

"         Random Forest using Conditional Inference Trees
Number of trees:  500
Response:  Light
Inputs:  FormH, FormV, Uratio, Void, Transmis
Number of observations:  660
      FormH       FormV      Uratio        Void    Transmis
 2259311332   713202692  4250413991 50551193145   571666638
Error in print.default(occupied$Fan, predicted) :
  invalid 'digits' argument"

This error only occurs when I change the dependent variable name from " Fan " 
(the variable I used to develop and test the script with) to any of the other 
dependent variables I need to test.  All variables being tested are either 
continuous or categorical.  Could anyone provide me with more information about 
this error and possibly the source in the coding?

2). The results are saving successfully to a file as a list however, I wish to 
save the data into a matrix that resembles:

                         Subset 1,  Subset 2,  Subset n,
Var Importance:    VI.1             VI.2        VI.n
mse:                   mse.1         mse.2       mse.n
rsq:                    rsq.1            rsq.2        rsq.n
IV-1:                    x.1              x.2           x.n
IV-2:                    y.1              y.2           y.n
IV-n:                    n.1              a.2           n.n

How could I create output that would append/write sequential results as a new 
column in the file as opposed to being in list form?

Your comments are appreciated

-- Jay


Script in question:

> library(party)
> rm(list=ls())
> Dynamic <- read.csv(file="Dynamic_DATA.csv")
> set.seed(1851)
> ctrl <- cforest_unbiased(ntree=500, mtry=5)
>
> for (i in 1:4){ ## Climate subset
+ occupied <- subset(Dynamic, WDOccupancy == 1 & Climate == i, select = 
c(DataSet:DGI))
+ Dynamic.cf <- cforest(Fan ~ FormH + FormV + Uratio + Void + Transmis, data = 
occupied, control = ctrl)
+ print(Dynamic.cf)
+ ## round(varimp(Dynamic.cf), 4)
+ ## Standard importance values __________________________
+ imp=varimp(Dynamic.cf, conditional = TRUE) #use varimp defaults
+ ## plot(imp)
+ print(imp)
+
+ ## predict variables _________________________________________
+ predicted=predict(Dynamic.cf,OOB = TRUE)
+ print(occupied$Fan,predicted)
+
+ residual=occupied$Fan-predicted
+ mse=mean(residual^2)
+ rsq=1-mse/var(occupied$Fan)
+
+ ##Correlation between fitted values and original values: ____
+ correl <- paste(cor(occupied$Fan,predicted))
+ Correlation <-paste("MSE:",mse, "Rsq:",rsq, "Correlation between fitted 
values and original values:",correl)
+ print(Correlation)
+
+ ## combine results for output _______________________________
+ nam <- paste("Climate =",i, sep=" ")
+ assign(nam, 1:i)
+ results <- rbind(nam, mse, rsq, correl)
+
+ ## Writing data to csv file _________________________________
+ write.table(results, file = "variable importance3.csv", append = TRUE, quote 
= FALSE, sep = " ", col.names = TRUE, row.names = TRUE,)
+ write.table(imp, file = "variable importance3.csv", append = TRUE, quote = 
FALSE, sep = " ", eol = "\r", na = "N/A", row.names = TRUE, col.names = TRUE, 
qmethod = "double")
+ }



        [[alternative HTML version deleted]]

______________________________________________
R-help@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.

Reply via email to