[R] How to capture console output in a numeric format
Ravi Varadhan
rvaradhan at jhmi.edu
Fri Jun 24 18:02:28 CEST 2011
I did think of this solution, Keith, but I am generally uncomfortable (may be "paranoid" is a better word) with the use of `<<-'. Perhaps, my fear is unjustified in this particular situation.
Thanks,
Ravi.
-------------------------------------------------------
Ravi Varadhan, Ph.D.
Assistant Professor,
Division of Geriatric Medicine and Gerontology School of Medicine Johns Hopkins University
Ph. (410) 502-2619
email: rvaradhan at jhmi.edu
-----Original Message-----
From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org] On Behalf Of Keith Jewell
Sent: Friday, June 24, 2011 11:49 AM
To: r-help at stat.math.ethz.ch
Subject: Re: [R] How to capture console output in a numeric format
If you don't want the information as character, why are you printing it
rather than storing it in a matrix?
Why not something along the lines of this...
fr <- function(x) { ## Rosenbrock Banana function
on.exit(aMatrix <<- rbind(aMatrix,(cbind(x1, x2, f))))
x1 <- x[1]
x2 <- x[2]
f <- 100 * (x2 - x1 * x1)^2 + (1 - x1)^2
f
}
aMatrix <- NULL
ans <- optim(c(-1.2,1), fr)
aMatrix
HTH
Keith J
-----Original Message-----
"Ravi Varadhan" <rvaradhan at jhmi.edu> wrote in message
news:2F9EA67EF9AE1C48A147CB41BE2E15C303EA5D at DOM-EB-MAIL1.win.ad.jhu.edu...
Thank you very much, Jim. That works!
I did know that I could process the character strings using regex, but was
also wondering if there was a direct way to get this.
Suppose, in the current example I would like to obtain a 3-column matrix
that contains the parameters and the function value:
fr <- function(x) { ## Rosenbrock Banana function
on.exit(print(cbind(x1, x2, f)))
x1 <- x[1]
x2 <- x[2]
f <- 100 * (x2 - x1 * x1)^2 + (1 - x1)^2
f
}
fvals <- capture.output(ans <- optim(c(-1.2,1), fr))
Now, I need to tweak your solution to get the 3-column matrix. It would be
nice, if there was a more direct way to get the numerical output, perhaps a
numeric option in capture.output().
Best,
Ravi.
-------------------------------------------------------
Ravi Varadhan, Ph.D.
Assistant Professor,
Division of Geriatric Medicine and Gerontology School of Medicine Johns
Hopkins University
Ph. (410) 502-2619
email: rvaradhan at jhmi.edu
______________________________________________
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.
More information about the R-help
mailing list