On 11/10/2008 10:18 AM, Karl Knoblick wrote:
Hello!

I have the problem that in my function the passed variable is not used, but the 
variable name of the dataframe itself - difficult to explain, but an easy 
example:

TestFunc<-function(df, group) {
    print(names(subset(df, select=group)))
}
df1<-data.frame(group="G1", visit="V1", value=0.9)
TestFunc(df1, c("group", "visit"))

Result:
[1] "group"
But I expected and want to have [1] "group" "visit" as result! Does anybody know how to get this result?

Don't use subset.  You can get what you want using


print(names(df[,group]))

Or alternatively, you can force group to be found in the right place in this way:

e <- environment()
print(names(subset(df, select=e$group)))

______________________________________________
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.

Reply via email to