[R] To draw observation [m, n] from 20 data frames named frame1, ... , frame20
Peter Dalgaard
p.dalgaard at biostat.ku.dk
Tue May 27 00:34:47 CEST 2008
Gaurav Ghosh wrote:
> Hi all,
>
> I have 20 data frames, named frame1, ... , frame20. Each data frame has the
> dimension 20x5. I need to build a function that calls out the observation in
> Row 1, Col 2 from all 20 data frames and places it in a vector of length 20. I
> have tried the following code:
>
> vect <- rep(0,20)
> for(i in 1:20){
> vect[i] <- paste("frame",i,"[1,2]",sep="")
> }
>
> The vector that results is of the form ("frame1[1,2]", ... , "frame20[1,2]").
> Instead, the vector I need has the numerical values that correspond to
> frame1[1,2], frame2[1,2], ... etc. How should I amend my code?
>
> Thanks,
>
> Gaurav Ghosh
>
You need an eval(parse(.....)) step if you want to go that route.
However, it is easier if you have your frames in a list to begin with, say
mylist <- mget(sprintf(1:20, fmt="frame%d"))
Then it is just
sapply(mylist, "[", 1, 2)
--
O__ ---- Peter Dalgaard Øster Farimagsgade 5, Entr.B
c/ /'_ --- Dept. of Biostatistics PO Box 2099, 1014 Cph. K
(*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918
~~~~~~~~~~ - (p.dalgaard at biostat.ku.dk) FAX: (+45) 35327907
More information about the R-help
mailing list