Hi, I've built a function to generate plots and would like to be able pass in column names as a parameter. Here's a boiled down version of what I have right now:
pmts <- data.frame(date=c(1,2,3), all=c(5,6,7),maj=c(4,5,6),ind=c(3,4,5)) perc.mktshare <- function(df){ range1 <- floor(min(with(df, 100*ind/all))) range2 <- ceiling(max(with(df, 100*ind/all))) with(df,plot(date,100*ind/all,ylim=c(range1,range2),ylab="% Marketshare")) } perc.mktshare(pmts) What I'd like to do is something like this: perc.mktshare <- function(df, scaling.column){ range1 <- floor(min(with(df, 100*scaling.column/all))) range2 <- ceiling(max(with(df, 100*scaling.column/all))) with(df,plot(date,100*"scaling.column"/all,ylim=c(range1,range2),ylab="% Marketshare")) } perc.mktshare(pmts,"ind") perc.mktshare(pmts,"maj") I've tried going about this a couple of different ways but I can't make it work. My suspicion is that there's probably no way to do this using the 'with' statement and I'll have to trim the input dataframe to the pertinent columns first using subset or something. Thanks for your help! David ______________________________________________ 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.