[R] variables with dynamic names?

Gabor Grothendieck ggrothendieck at gmail.com
Tue Oct 24 14:25:52 CEST 2006


On 10/24/06, Gabor Grothendieck <ggrothendieck at gmail.com> wrote:
> Try something like this (untested):
>
> # replace with your function that inputs a data frame and outputs a number
> F <- function(x) length(x)
> # replace with setwd to appropriate path
> setwd("/")
>
> filenames <- dir(pattern = "[.]csv$")
> # DFs is a list of data frames; names(DFs) will be the filenames
> DFs <- sapply(filenames, read.csv, simplify = FALSE)
>
> m <- matrix(0, 26, 12)
> rownames(m) <- LETTERS
>
> for(nam in filenames) {
>  row <- substring(nam, 1, 1)
>  col <- as.numeric(substring(nam, 2, 3))
>  m[row, col] <- F(DFs[[nam]])
> }
>
> The for loop could alternately be done like this:
>
> library(gsubfn)
> f <- function(filename, row, col) m[row, as.numeric(col)] <<- F(DFs[[filename]])

The regular expression should be "^(.)(..).*"

> junk <- strapply(filenames, "^(.)(..)", f)
>
>
> On 10/24/06, Antje <niederlein-rstat at yahoo.de> wrote:
> > Hello,
> >
> > I have the following problem. I have a set of CSV files and they are
> > named for a special position in a matrix (e.g. "A01.csv", "F06.csv",
> > "H11.csv")
> >
> > Now, I would like to read in the data of all these files and eveluate
> > something for each set (and write it at the position in a result matrix).
> > How can I realize this with R?
> >
> > Ciao,
> > Antje
> >
> > ______________________________________________
> > R-help at stat.math.ethz.ch 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