[R] variables with dynamic names?

Gabor Grothendieck ggrothendieck at gmail.com
Tue Oct 24 14:19:39 CEST 2006


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]])
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