Hi, I'm trying to reshape and output 8 simple tables into excel files. This is the code I'm using for (i in 1:8) { count <- table(mydata$ctry, mydata[,paste0("q0",i,"r")]) dat <- as.data.frame(q01count) wide <- reshape(dat, timevar="Var2", idvar="Var1", direction="wide") write.xlsx(wide, file=paste0(i, 'C:/temp/q0',i,'r.xlsx')) } All goes well until the write.xlsx, which produces the error Error in .jnew("java/io/FileOutputStream", jFile) : java.io.FileNotFoundException: 1C:\temp\q01r.xlsx (The filename, directory name, or volume label syntax is incorrect) Among other things, I'm puzzled about why a "1" is getting tacked on to the file path. Any hints? Thanks, Leslie [[alternative HTML version deleted]]
On 31.08.2016 17:50, Leslie Rutkowski wrote:> Hi, > > I'm trying to reshape and output 8 simple tables into excel files. This is > the code I'm using > > for (i in 1:8) { > count <- table(mydata$ctry, mydata[,paste0("q0",i,"r")]) > dat <- as.data.frame(q01count) > > wide <- reshape(dat, > timevar="Var2", > idvar="Var1", > direction="wide") > write.xlsx(wide, file=paste0(i, 'C:/temp/q0',i,'r.xlsx'))^^ remove the i? Best, Uwe Ligges> } > > All goes well until the write.xlsx, which produces the error > > Error in .jnew("java/io/FileOutputStream", jFile) : > java.io.FileNotFoundException: 1C:\temp\q01r.xlsx (The filename, > directory name, or volume label syntax is incorrect) > > Among other things, I'm puzzled about why a "1" is getting tacked on to the > file path. > > Any hints? > > Thanks, > Leslie > > [[alternative HTML version deleted]] > > ______________________________________________ > R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see > 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. >
if the files are supposed to be "1r.xlsx", "2r.xlsx" (etc) then you need to ensure there's a "/" before it. It's better to use `file.path()` to, well, build file paths since it will help account for differences between directory separators on the various operating systems out there. On Wed, Aug 31, 2016 at 11:54 AM, Uwe Ligges < ligges at statistik.tu-dortmund.de> wrote:> > > On 31.08.2016 17:50, Leslie Rutkowski wrote: > >> Hi, >> >> I'm trying to reshape and output 8 simple tables into excel files. This is >> the code I'm using >> >> for (i in 1:8) { >> count <- table(mydata$ctry, mydata[,paste0("q0",i,"r")]) >> dat <- as.data.frame(q01count) >> >> wide <- reshape(dat, >> timevar="Var2", >> idvar="Var1", >> direction="wide") >> write.xlsx(wide, file=paste0(i, 'C:/temp/q0',i,'r.xlsx')) >> > > ^^ > remove the i? > > Best, > Uwe Ligges > > > > } >> >> All goes well until the write.xlsx, which produces the error >> >> Error in .jnew("java/io/FileOutputStream", jFile) : >> java.io.FileNotFoundException: 1C:\temp\q01r.xlsx (The filename, >> directory name, or volume label syntax is incorrect) >> >> Among other things, I'm puzzled about why a "1" is getting tacked on to >> the >> file path. >> >> Any hints? >> >> Thanks, >> Leslie >> >> [[alternative HTML version deleted]] >> >> ______________________________________________ >> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see >> https://stat.ethz.ch/mailman/listinfo/r-help >> PLEASE do read the posting guide http://www.R-project.org/posti >> ng-guide.html >> and provide commented, minimal, self-contained, reproducible code. >> >> > ______________________________________________ > R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posti > ng-guide.html > and provide commented, minimal, self-contained, reproducible code. >[[alternative HTML version deleted]]
Also, the recommended way to build file paths is to use file.path(), i.e. file.path("C:", "temp", filename) rather than paste0("C:/temp/", filename) BTW, R provides tempdir() that gives you the temporary directory that R prefers to use on your OS. So, you might want to consider using: paste0(tempdir(), filename) It is specific and temporary to the R session running though, so if you want to store things across R sessions, tempdir() is not what you want to use. /Henrik On Wed, Aug 31, 2016 at 8:54 AM, Uwe Ligges <ligges at statistik.tu-dortmund.de> wrote:> > > On 31.08.2016 17:50, Leslie Rutkowski wrote: >> >> Hi, >> >> I'm trying to reshape and output 8 simple tables into excel files. This is >> the code I'm using >> >> for (i in 1:8) { >> count <- table(mydata$ctry, mydata[,paste0("q0",i,"r")]) >> dat <- as.data.frame(q01count) >> >> wide <- reshape(dat, >> timevar="Var2", >> idvar="Var1", >> direction="wide") >> write.xlsx(wide, file=paste0(i, 'C:/temp/q0',i,'r.xlsx')) > > > ^^ > remove the i? > > Best, > Uwe Ligges > > > >> } >> >> All goes well until the write.xlsx, which produces the error >> >> Error in .jnew("java/io/FileOutputStream", jFile) : >> java.io.FileNotFoundException: 1C:\temp\q01r.xlsx (The filename, >> directory name, or volume label syntax is incorrect) >> >> Among other things, I'm puzzled about why a "1" is getting tacked on to >> the >> file path. >> >> Any hints? >> >> Thanks, >> Leslie >> >> [[alternative HTML version deleted]] >> >> ______________________________________________ >> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see >> 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 at r-project.org mailing list -- To UNSUBSCRIBE and more, see > 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.