[R] Overwriting a procedure

Ista Zahn istazahn at gmail.com
Tue Sep 2 22:17:33 CEST 2014


Hi,

Trying to change the way functions inside packages work is almost
certainly not what you want to do. It's possible but usually there is
an easier way.

Your example is so simplified that I suspect it doesn't capture your
actual needs very well, but in the case of your example you can simply
do

pre <- function(x){
x[,6]<-x[,5]^2/10
return(x)
}

fixx(pre(x))


Best,
Ista

On Tue, Sep 2, 2014 at 2:45 PM, Steven Yen <syen04 at gmail.com> wrote:
> Is there a way to over-write a procedure (subroutine)?
>
> I include a default procedure fixx in a list of procedures which are
> compiled into a package. By default, the procedure deliver the data matrix
> x.
>
> fixx <- function(x){
> result <- list(x=x)
> return(result)
> }
>
> In some applications, I have transformations (such as squared terms) in some
> column(s) in x. So I include the following procedure in the mail (calling)
> program, hoping to over-write the default procedure under the same name in
> the package (which is the way other languages works, e.g., Gauss):
>
> fixx <- function(x){
> x[,6]<-x[,5]^2/10
> result <- list(x=x)
> return(result)
> }
>
> This does not seem to work. The procedure in the main (calling) program
> seems to get ignored. Any idea? Thanks.
>
> ______________________________________________
> 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