Say I have a function handed to me that I cannot change and must use as is. This function takes several objects in the form of
oldFunction( object1, object2, object3, ...)
where ... are other arguments. I want to write a wrapper to take a list of objects. My idea was this.
sjb.ListWrapper <- function(myList,...) {
lLen <- length(myList)
myStr <- ""
for( i in 1:lLen) {
myStr <- paste(myStr, "myList[[", i , "]],",sep="")
}
myCode <- paste("oldFunction(", myStr, "...)")
eval({myCode})
}
However, the issue is that I want to use this from Sweave and I need the output of oldFunction to be printed. What is the right way to do this?
Thanks.
On the Data menu, point to Filter, and then click Advanced Filter. In the Advanced Filter dialog box, click Filter the list, in place. Select the Unique records only check box, and then click OK. The filtered list is displayed and the duplicate rows are hidden.
In Excel, there are several ways to filter for unique values—or remove duplicate values: To filter for unique values, click Data > Sort & Filter > Advanced. To remove duplicate values, click Data > Data Tools > Remove Duplicates.
You are looking for do.call
:
f <- function(x,y,z)x+y+z
do.call(f,list(1,2,3))
[1] 6
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With