I did really want to find make the suggestion work... it is going to save my time... I worked on trying to put all dataframes into a list() by: ###start of file rm(list=ls()) setwd("/Users/John/Programs/R") load("Expt108Master2008.Rdata")
nms <- ls(pattern=".data") my.data <- list() for(i in nms) my.data[[i]] <- get(i) save(list=ls(pattern="my."), file="Expt108One.Rdata") ###end of file The original Rdata file (with global dataframes) is 427.4Mb, and the new Rdata file with 1 list() storing all dataframes is 427.2Mb I can now access the individual dataframes by: my.data$019v1msa1.data But... At the moment, whenever I type >my.data then the whole huge list of dataframes just flush out of standard output... and doing a >dim(my.data) will give me only NULL... what command(s) allows me to look at what variables / dataframes are stored in a list() structure? And how many of them is there? Thanks a lot! I'm still seasoning my style of working in R! Regards, John On Mon, Dec 8, 2008 at 4:10 PM, Greg Snow <[EMAIL PROTECTED]> wrote: > I really don't understand your concern. Something like: > >> nms <- c('file1','file2','file3') >> my.data <- list() >> for (i in nms) my.data[[ i ]] <- read.table(i) > > Will read in the files listed in the nms vector and put them into the list > my.data (each data frame is a single element of the list). This list will > not take up about the same amount of memory as if you read each file into a > dataframe in the global environment. And there is no transforming of data > frames (into 1 row or otherwise). > > -- > Gregory (Greg) L. Snow Ph.D. > Statistical Data Center > Intermountain Healthcare > [EMAIL PROTECTED] > 801.408.8111 > > >> -----Original Message----- >> From: tsunhin wong [mailto:[EMAIL PROTECTED] >> Sent: Monday, December 08, 2008 1:34 PM >> To: Greg Snow >> Cc: Jim Holtman; r-help@r-project.org; [EMAIL PROTECTED] >> Subject: Re: [R] Transforming a string to a variable's name? help me >> newbie... >> >> I want to combine all dataframes into one large list too... >> But each dataframe is a 35 columns x varying number of rows structure >> (from 2000 to >9000 rows) >> I have ~1500 dataframes of these to process, and that add up to > >> 1.5Gb of data... >> >> Combining dataframes into a single one require me to transform each >> single dataframe into one line, but I really don't have a good >> solution for the varying number of rows scenario... And also, I don't >> want to stall my laptop every time I run the data set: maybe I can do >> that when my prof give me a ~ 4Gb ram desktop to run the script ;) >> >> Thanks! :) >> >> - John >> >> On Mon, Dec 8, 2008 at 1:36 PM, Greg Snow <[EMAIL PROTECTED]> wrote: >> > In the long run it will probably make your life much easier to read >> all the dataframes into one large list (and have the names of the >> elements be what your currently name the dataframes), then you can just >> use regular list indexing (using [[]] rather than $ in most cases) >> instead of having to worry about get and assign and the >> risks/subtleties involved in using those. >> > >> > Hope this helps, >> > >> > -- >> > Gregory (Greg) L. Snow Ph.D. >> > Statistical Data Center >> > Intermountain Healthcare >> > [EMAIL PROTECTED] >> > 801.408.8111 >> > >> > >> >> -----Original Message----- >> >> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] >> >> project.org] On Behalf Of tsunhin wong >> >> Sent: Monday, December 08, 2008 8:45 AM >> >> To: Jim Holtman >> >> Cc: r-help@r-project.org >> >> Subject: Re: [R] Transforming a string to a variable's name? help me >> >> newbie... >> >> >> >> Thanks Jim and All! >> >> >> >> It works: >> >> tmptrial <- trialcompute(trialextract( >> >> get(paste("t",tmptrialinfo[1,2],tmptrialinfo[1,16],".gz",sep="")) , >> >> tmptrialinfo[1,32],secs,sdm),secs,binsize) >> >> >> >> Can I use "assign" instead? How should it be coded then? >> >> >> >> Thanks! >> >> >> >> - John >> >> >> >> On Mon, Dec 8, 2008 at 10:40 AM, Jim Holtman <[EMAIL PROTECTED]> >> >> wrote: >> >> > ?get >> >> > >> >> > >> >> > Sent from my iPhone >> >> > >> >> > On Dec 8, 2008, at 7:11, "tsunhin wong" <[EMAIL PROTECTED]> wrote: >> >> > >> >> >> Dear all, >> >> >> >> >> >> I'm a newbie in R. >> >> >> I have a 45x2x2x8 design. >> >> >> A dataframe stores the metadata of trials. And each trial has its >> >> own >> >> >> data file: I used "read.table" to import every trial into R as a >> >> >> dataframe (variable). >> >> >> >> >> >> Now I dynamically ask R to retrieve trials that fit certain >> >> selection >> >> >> criteria, so I use "subset", e.g. >> >> >> tmptrialinfo <- subset(trialinfo, (Subject==24 & >> >> Filename=="v2msa8")) >> >> >> >> >> >> The name of the dataframe / variable of an individual trial can >> be >> >> >> obtained using: >> >> >> paste("t",tmptrialinfo[1,2],tmptrialinfo[1,16],".gz",sep="") >> >> >> Then I get a string: >> >> >> "t24v2msa8.gz" >> >> >> which is of the exact same name of the dataframe / variable of >> that >> >> >> trial, which is: >> >> >> t24v2msa8.gz >> >> >> >> >> >> Can somebody tell me how can I change that string (obtained from >> >> >> "paste()" above) to be a usable / manipulable variable name, so >> that >> >> I >> >> >> can do something, such as: >> >> >> (1) >> >> >> tmptrial <- trialcompute(trialextract( >> >> >> paste("t",tmptrialinfo[1,2],tmptrialinfo[1,16],".gz",sep="") >> >> >> ,tmptrialinfo[1,32],secs,sdm),secs,binsize) >> >> >> instead of hardcoding: >> >> >> (2) >> >> >> tmptrial <- >> >> >> >> >> >> trialcompute(trialextract(t24v2msa8.gz,tmptrialinfo[1,32],secs,sdm),sec >> >> s,binsize) >> >> >> >> >> >> Currently, 1) doesn't work... >> >> >> >> >> >> Thanks in advance for your help! >> >> >> >> >> >> Regards, >> >> >> >> >> >> John >> >> >> >> >> >> ______________________________________________ >> >> >> 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. >> >> > >> >> >> >> ______________________________________________ >> >> 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. >> > > ______________________________________________ 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.