On 09/05/2014, 2:41 AM, Bert Gunter wrote:
Spencer:
Hmmm....
Well, I don't get what's going on here -- as.character.default is
internal -- but could you method-ize a simple synonym:
See ?InternalMethods:
"For efficiency, internal dispatch only occurs on objects, that is those
for which is.object returns true."
Duncan Murdoch
asChar<- function(e,...)UseMethod("asChar")
asChar.call <- function(e,...)deparse(e,...)
asChar.default <- function(e,...)as.character(e,...)
asChar(xDy)
[1] "x$y"
asChar(1:5)
[1] "1" "2" "3" "4" "5"
Cheers,
Bert
Bert Gunter
Genentech Nonclinical Biostatistics
(650) 467-7374
"Data is not information. Information is not knowledge. And knowledge
is certainly not wisdom."
H. Gilbert Welch
On Thu, May 8, 2014 at 8:56 PM, Spencer Graves
<spencer.gra...@structuremonitoring.com> wrote:
On 5/8/2014 8:05 PM, Bert Gunter wrote:
[1] "x$y"
Spencer:
Does
deparse(substitute(x$y))
[1] "x$y"
do what you want?
No: The problem is methods dispatch. class(quote(x$y)) = 'call', but
as.character(quote(x$y)) does NOT go to "as.character.call".
deparse(quote(x$y)) returns the answer I want, as Greg Snow noted
earlier.
However, it would be easier to remember if I could write
as.character(quote(x$y)) and get the same thing.
With "as.character.call <- function(x, ...)deparse(x, ...)",
as.character.call(quote(x$y)) returns "x$y", as desired. However, the
methods dispatch one might naively expect fails, as noted above.
Thanks,
Spencer
Cheers,
Bert
-- Bert
Bert Gunter
Genentech Nonclinical Biostatistics
(650) 467-7374
"Data is not information. Information is not knowledge. And knowledge
is certainly not wisdom."
H. Gilbert Welch
On Thu, May 8, 2014 at 5:56 PM, Spencer Graves
<spencer.gra...@structuremonitoring.com> wrote:
"as.character.call" seems not to work as an alias for deparse.
Consider the following:
xDy <- quote(x$y)
class(xDy)
"call"
as.character.call <- function(x, ...)deparse(x, ...)
as.character(xDy)
[1] "$" "x" "y"
# fails
str(xDy)
# language x$y
as.character.language <- function(x, ...)"language"
as.character(xDy)
[1] "$" "x" "y"
Is it feasible to construct a method for "as.character" that
works
for objects of class "call"?
Thanks,
Spencer
#################
Thanks for the quick replies from Richard Heiberger, Greg Show & Bert
Gunter.
Might it make sense to create as.character.call as an alias for
deparse?
A few years ago, I wrote several functions like "predict.fd" as
aliases for functions with less memorable names like "eval.fd". Doing
that
made the "fda" package easier to use, at least for me ;-)
Thanks again,
Spencer
On 5/7/2014 2:39 PM, Bert Gunter wrote:
... and
str(quote(x$y))
language x$y
as.list(quote(x$y))
[[1]]
`$`
[[2]]
x
[[3]]
y
## may be instructive.
Cheers,
Bert
Bert Gunter
Genentech Nonclinical Biostatistics
(650) 467-7374
"Data is not information. Information is not knowledge. And knowledge
is certainly not wisdom."
H. Gilbert Welch
On Wed, May 7, 2014 at 2:30 PM, Greg Snow <538...@gmail.com> wrote:
deparse(quote(x$y))
[1] "x$y"
It looks like deparse does what you want here.
On Wed, May 7, 2014 at 3:23 PM, Spencer Graves
<spencer.gra...@structuremonitoring.com> wrote:
Hello, All:
Is there a simple utility someplace to convert "quote(x$y)" to
"x$y"?
I ask, because as.character(quote(x$y)) is a character vector
of
length 3 = "$" "x" "y". I want to convert this to "x$y" for a
diagnostic
message.
class(quote(x$y)) = "call", which suggests I could write
"as.character.call" to perform this function. However, before I do, I
felt
a need to ask for other thoughts on this.
Thanks,
Spencer
--
Gregory (Greg) L. Snow Ph.D.
538...@gmail.com
______________________________________________
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.
--
Spencer Graves, PE, PhD
President and Chief Technology Officer
Structure Inspection and Monitoring, Inc.
751 Emerson Ct.
San José, CA 95126
ph: 408-655-4567
web: www.structuremonitoring.com
______________________________________________
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.
______________________________________________
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.