[R] How to specify a data frame column using command line arg?

Ista Zahn istazahn at gmail.com
Mon Jun 6 13:22:10 CEST 2016


Hi Doug,

ggplot lets you map variables to aesthetics in a few different ways,
including passing to variable names as strings to aes_string. See
?aes_string for details.

Best,
Ista
On Jun 6, 2016 1:03 AM, "Jim Lemon" <drjimlemon at gmail.com> wrote:

> Yes, I see what you want. I can't run this myself as my work computer
> runs Windows and insists on starting Statistica when I run an R file
> in batch mode. What about:
>
> plot(adl1[,args[1]],adl1[,args[2]])
>
> I just noticed that you are plotting in ggplot, so this won't help. Maybe:
>
> aes(x=args[1], y=args[2])
>
> ?
>
> Jim
>
>
> On Mon, Jun 6, 2016 at 1:29 PM, Douglas Johnson <todojo at gmail.com> wrote:
> > Hi Jim,
> >
> > Thanks for the quick reply. I was trying to be clear but I think maybe
> the
> > example was too simple. What I really have is a csv file with lots of
> > columns (let's say 26) with a header (say a,b,c,d,e,,,,,z). I want to
> > generate lots of scatter plots -- 'a' vs. 'b' and 'd' vs 'j' and so on
> and
> > so on. I don't want to create a separate program for every combination of
> > columns -- that would be hundreds of programs. I just want one program
> that
> > takes three args --
> > 1) the csv file name
> > 2) the name of the 'x-axis' column (e.g. 'd')
> > 3) the name of the 'y-asix' column (e.g. 'j')
> >
> > so can run:
> >
> > scatter_plot.r sample01.csv a b
> > scatter_plot.r sample01.csv d j
> > .....
> >
> > I can't figure out how to get  the column names from the args[] to the
> > aes(x=?????, y=?????).
> > There must be some kind of indirect  reference or eval() or substitute()
> > operator in R but I can't find it.
> >
> > Anyway, thanks for taking a shot at this.
> >
> > Best,
> >
> > doug
> >
> >
> >
> >
> > On Sun, Jun 5, 2016 at 10:44 PM, Jim Lemon <drjimlemon at gmail.com> wrote:
> >>
> >> Hi Doug,
> >> I think this will work for you:
> >>
> >> adl1<-read.csv("test.csv")
> >> adl1[,"a"]
> >> [1] 1 4 7
> >>
> >> so, adl1[,args[1]] should get you the column that you pass as the
> >> first argument.
> >>
> >> Jim
> >>
> >>
> >> On Mon, Jun 6, 2016 at 5:45 AM, Douglas Johnson <todojo at gmail.com>
> wrote:
> >> > I'm guessing this is trivial but I've spent two hours searching and
> >> > reading
> >> > FAQ, tutorial, introductory and 'idiom' documents and haven't found a
> >> > solution. All I want to do is select a data frame column at run time
> >> > using
> >> > a command line arg. For example, the "test.csv" file contains:
> >> >
> >> > a,b,c
> >> > 1,2,3
> >> > 4,5,6
> >> > 7,8,9
> >> >
> >> > If I run "test.r a", I get [1,4,7].
> >> > If I run "test.r b", I get [2,5,8].
> >> >
> >> > Here's sample code -- how I map args[1] to column/vector 'a' or 'b' or
> >> > 'c'?
> >> >
> >> > args <- commandArgs(trailingOnly=T)
> >> >
> >> > adl1<-read.csv(file="test.csv",head=T,sep=",")
> >> >
> >> > adl1$SOME-MAGIC-FUNCTION-OR-SYMBOL(args[1])
> >> >
> >> >
> >> > All I'm really trying to do is generate a bunch of scatter plots of
> >> > column
> >> > 'x' vs. 'y' without writing a separate program for each pair.
> >> >
> >> >
> >> > Thanks,
> >> >
> >> >
> >> > Doug
> >> >
> >> >
> >> >
> >> > --
> >> > http://www.dojopico.org <http://dojopico.org>
> >> >
> >> >         [[alternative HTML version deleted]]
> >> >
> >> > ______________________________________________
> >> > R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
> >> > 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.
> >
> >
> >
> >
> > --
> > http://www.dojopico.org
>
> ______________________________________________
> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
> 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.
>

	[[alternative HTML version deleted]]



More information about the R-help mailing list