On 16/05/2011 4:18 PM, olafgy wrote:
Hi there,
I am trying to import 100 files with the names of "vpn 1 .dat" to "vpn 100
.dat"
into a respective table calld vpn1 to vpn100.
I therfore have created a variable X<-1:100
I not want to use X as a subtitute for the number in my filename, so that I
have to write only one function and it does the operation with all files.
I have tried every combination i could imagine to include the string X into
the file name:
vpn'X' , vpn"X" , vpn[X] , and so on, but R never did what I wanted it
too.
vpn"X"<-read.table("vpn "X" .dat")
So is there a way to do this in R??? or should I use an intirely new
aproach?
Yes there is a way, and yes you should use a different approach.
R is not a macro language. You can't just put X somewhere and expect it
to be expanded into its contents. You need to call functions that make
use of it and produce the results you want.
One way is like this:
filenames <- sprintf("vpn %d .dat", X)
varnames <- sprintf("vpn%d", X)
for (i in 1:100) {
var <- read.table(filenames[i])
assign(varnames[i], var)
}
There are ways to compress all of this into a single line, but they are
(in my opinion) a lot less clear.
Duncan Murdoch
______________________________________________
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.