I want to get some "simple" logic regression examples to work before exploring a hard problem.
I can get results, but I'm having some problems using "cat" to save the logic regression equation to a disk file. Consider this: # Simple Logic Regression Example # efg, 23 Feb 2005 library(LogicReg) # Create simulated data with known logic equation: # "noise" logic matrix X <- matrix(as.numeric(runif(160) < 0.5), 20,8) colnames(X) <- paste("X", 1:ncol(X), sep="") rownames(X) <- paste("case", 1:nrow(X), sep="") # Define expected result: Y = (NOT X2) AND X6 Y <- as.numeric(!X[,2] & X[,6]) # set seed for reproducible test set.seed(19937) # 100 interations too few: some results in single node with |Parameter| < 1 Annealing <- logreg.anneal.control(start = -1, end = -4, iter = 500, update = 50) logicfit <- logreg(resp=Y, bin=X, type = REGRESSION.TYPE<-2, select = FIT.SINGLE.MODEL<-1, ntrees=1, nleaves=2, # force shape of final tree anneal.control=Annealing) # I don't always want to see the plot plot(logicfit) # I'd like to write my regression equation to a file and # then run many times to test my parameter selection # with a known case before exploring unknown cases logicfit # In this case I want either of these equivalent answers # (equivalent via DeMorgan's Theorem), and no others, # such as single node results. I want to run this say 100s (later 1000s) of times and look at the variation in the results. I want to figure out what parameters I should use so I only see these results: score 0 +1 * (X6 and (not X2)) -1 * ((not X6) or X2) # I can't use cat to write this model to a file: > cat(logicfit) Error in cat(list(...), file, sep, fill, labels, append) : argument 1 not yet handled by cat > summary(logicfit) Length Class Mode nsample 1 -none- numeric nbinary 1 -none- numeric nseparate 1 -none- numeric type 1 -none- character select 1 -none- character anneal.control 5 -none- list tree.control 4 -none- list seed 1 -none- numeric choice 1 -none- numeric nleaves 1 -none- numeric ntrees 1 -none- numeric penalty 1 -none- numeric response 20 -none- numeric binary 160 -none- numeric separate 1 -none- numeric censor 20 -none- numeric weight 20 -none- numeric model 5 logregmodel list call 8 -none- call # Just the logicfit$model would be good enough but I can't "cat" that either: > logicfit$model +1 * (X6 and (not X2)) > cat(logicfit$model) Error in cat(list(...), file, sep, fill, labels, append) : argument 1 not yet handled by cat Using sink to get this result seems to be a huge kludge: > sink("saveresults.txt") > logicfit$model > sink() > results <- readLines("saveresults.txt") > results [1] " +1 * (X6 and (not X2))" # FINALLY something I could write this result to a file:. > cat(results, "\n") +1 * (X6 and (not X2)) What is a simple way to get my logic regression equation as a string that I can "cat" without dealing with the internal data structures that are present here? Thanks for any help with this. efg -- Earl F. Glynn Scientific Programmer Bioinformatics Department Stowers Institute for Medical Research ______________________________________________ R-help@stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html