On 5/20/2012 5:52 AM, Gabor Grothendieck wrote:
On Sun, May 20, 2012 at 8:30 AM, Gabor Grothendieck
<ggrothendi...@gmail.com>  wrote:
On Sat, May 19, 2012 at 9:32 PM, Spencer Graves
<spencer.gra...@structuremonitoring.com>  wrote:
Hello, All:


      The "writeFindFn2xls" function in the "sos" package tries to write an
Excel file with 3 sheets ('PackageSum2', 'findFn', 'call'). Unfortunately,
it is often unable to do this because of configuration problems that are not
easy to fix.  I've found 3 contributed packages that provide facilities to
write Excel files with multiple sheets. Unfortunately, I can't get any of
them to work consistently for me. Below please find test cases that
illustrate the problems.  Any suggestions for how to solve this problem will
be appreciated.


      Thanks,
      Spencer


library(dataframes2xls)

df1<- data.frame(c1=1:2, c2=3:4, c3=5:6)
df2<- data.frame(c21=c(10.10101010101,20, 3), c22=c(50E50,60, 3) )
outFile<- 'df12.xls'

write.xls(c(df1,df2), outFile)
# works

do.call(write.xls, list(c(df1, df2), outFile))
# Error in get(s[i]) : object 'structure(list(c1=1:2' not found

Try this:

dd<- list(df1 = df1, df2 = df2)
do.call("WriteXLS", list("dd", outFile))

or this:

do.call("WriteXLS", list(c("df1", "df2"), outFile)

That was for WriteXLS.  For dataframes2xls try this:

do.call("write.xls", list(quote(c(df1, df2)), outFile))

Hi, Gabor: Thanks. I think we're gaining on it, but I'm still not quite there. Consider the following extension of my previous toy example:

library(dataframes2xls)

df1 <- data.frame(c1=1:2, c2=3:4, c3=5:6)
df2 <- data.frame(c21=c(10.10101010101,20, 3), c22=c(50E50,60, 3) )
outFile <- 'df12.xls'

write.xls(c(df1,df2), outFile)
# works

do.call(write.xls, list(quote(c(df1, df2)), outFile))
# works

df2x <- function(x, file)
    do.call(write.xls, list(x, file))
df2x(quote(c(df1, df2)), outFile)
# works

df2 <- function(x1, x2, file){
    x23 <- quote(c(x1, x2))
    do.call(write.xls, list(x23, file))
}
df2(df1, df2, outFile)
# Error in get(s[i]) : object 'x1' not found


This is closer to what I need. The answer may lie in getting the right "envir" argument for "do.call". However, I haven't yet found something that works there.


      Thanks,
      Spencer

and also check out this page:

http://rwiki.sciviews.org/doku.php?id=tips:data-io:ms_windows




--
Spencer Graves, PE, PhD
President and Chief Technology Officer
Structure Inspection and Monitoring, Inc.
751 Emerson Ct.
San José, CA 95126
ph:  408-655-4567
web:  www.structuremonitoring.com

______________________________________________
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.

Reply via email to