Skip to content

<no subject>

8 messages · Claudia Paladini, Michael Mader, Uwe Ligges +4 more

#
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Spam-Checker-Version: SpamAssassin 2.63 (2004-01-11) on hypatia.math.ethz.ch
X-Spam-Status: No, hits=3.5 required=5.0 tests=BAYES_44,RCVD_IN_BL_SPAMCOP_NET autolearn=no version=2.63
X-Spam-Level: ***

Dear ladies and gentlmen,
I want to import a directory with about 400 files (.dat) in R. I know how to import a single file (with scan...) but I've good no idea how to import 400 at once. Can you help me ?
Thanks a lot!
Claudia
#
Hi,

have a look at list.files() and import them in a loop or similar.

Regards

Michael
Claudia Paladini wrote:

  
    
#
Claudia Paladini wrote:

            
Inn order to get a list "dat" containing all the data:

  setwd("path")
  files <- dir(pattern="dat$")
  dat <- lapply(files, scan)

Uwe Ligges
#
On Tue, Feb 24, 2004 at 02:34:35PM +0100, Claudia Paladini wrote:
You can get list of the files you need:
  flist <- system("ls", intern = TRUE)

Then run on that list:
  for (fname in flist) {
      get(fname, scan(file = fname, ...))
      ...
  }

--
WBR,
Timur
#
Claudia Paladini wrote:
setwd("c:/myfiles/")
## list.files uses regular expressions.
## For reading all files which start with "S" use for example:

files <-  list.files(pattern="^S.*")

## then read the data within a loop, e.g.:
dat2 <- NULL
for (f in files) {
   dat  <- read.table(f)
   dat2 <- rbind(dat2, dat)
}



Thomas P.
#
On Tue, Feb 24, 2004 at 05:11:07PM +0300, Timur Elzhov wrote:

            
flist <- system("ls *.dat", intern = TRUE)
in your case, you see :)

--
WBR,
Timur
#
I don't know what these files are. so depending on whether you want to
call them with 400 different names or just have one data set for the 400
files. but in either case you can do a for loops on the directory. i.e.
put the 400 files in a seperate directory and setwd("to that directory")
do this

for (i %in% dir()){
assign(gsub(".dat", "", i), scan(....))}

this will create the 400 files with names without the .dat at the end.
note if you want to merge theem or rbind them, just replace the the
command assign above by rbind or merge.
On Tue, 24 Feb 2004, Claudia Paladini wrote:

            
#
On Tue, 24 Feb 2004 17:14:17 +0300, Timur Elzhov
<Timur.Elzhov at jinr.ru> wrote :
That's not portable (Windows doesn't necessarily have ls).
list.files() is the portable function to do this.

If you want to be Windows-only non-portable, then choose.files() is a
bit more friendly than list.files().

Duncan Murdoch