Dear David, First, I would like to say thank you for your very soon reply. Second, I want to clarify the question because it seems to not carrying exactly what I want to ask. Let take an example on R data.frame: V1 <- 1 df2 <- df[V1== 1,] # df is a data.frame, this command is correct, right?
The evaluation steps for the above command are: 1. R evaluate V1 > 1 to get TRUE 2. The command becomes df2 <- df[TRUE,] which copies all rows of df to df2 What I want is to capture the "V1 > 1" expression instead of letting R do the evaluation in case of the custom [ function. Assume my class is mydf, the S4 function should be: setMethod("[", signature(x="mydf"), function(x,i,j,...,drop=TRUE) { e <- substitute(i) // do parsing and custom-evaluation tasks }) Currently, i is always a vector of type character, numeric or logic due to R evaluation. I am a newbie to R, so please tolerate my mistakes or misunderstanding. Thanks! Nhan Vu On Tue, May 14, 2013 at 12:14 PM, David Winsemius <dwinsem...@comcast.net>wrote: > > On May 13, 2013, at 6:38 PM, Nhan Vu Lam Chi wrote: > > > Hi everyone, > > I currently work on a S4 class that has the [ function. I want to capture > > the unevaluated expression corresponding to the i param using > substitute() > > function and do a non-standard evaluation. However R automatically > > evaluates the expression and give me its value. > > For example: > > Given mydf[mydf$V1 > 1,] with mydf is an object of my custom S4 dataframe > > class and V1 is one of its columns, I want to get the unevaluated > > expression mydf$V1 > 1. > > > > My questions are: > > 1. Is it possible to do that in R? > > 2. If yes, how to do? > > Doesn't this cry out for the S4 class definition of "[" to be answerable?. > Because "[" is generic, it could have almost any definition at the whim of > the package author. > > > My R version and OS info are: > > R version 2.15.3 (2013-03-01) -- "Security Blanket" > > Copyright (C) 2013 The R Foundation for Statistical Computing > > ISBN 3-900051-07-0 > > Platform: x86_64-pc-linux-gnu (64-bit) > > > > This is the first time I post to the mailing list, so please forgive any > > mistakes and/or advise me if possible. > > Regards, > > Nhan Vu > > > > [[alternative HTML version deleted]] > > You are forgiven, but this once, for posting in HTML. > > -- > David Winsemius > Alameda, CA, USA > > [[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.