Hi Dennis,

Actually, this data.frame is an output from a test. And there are 2 
'Group' variables because it is a pairwise comparison test.
Up to now, I've used write.csv() and I've never had such problems.

I've tried changing the names to 'Group1' and 'Group2', and it indeed 
was the problem.

Any idea except changing the names manually before using sqlSave()?

Ivan


-------- Message original --------
Sujet: 	Re: [R] problem with sqlSave()
Date : 	Wed, 24 Feb 2010 01:36:37 -0800
De : 	Dennis Murphy <djmuser@gmail.com>
Pour : 	ivan.calandra@uni-hamburg.de



Why do you have the same name for two variables (Group)? That might explain
the error message...

HTH,
Dennis

On Wed, Feb 24, 2010 at 12:55 AM, Ivan Calandra 
<ivan.calandra@uni-hamburg.de <mailto:ivan.calandra@uni-hamburg.de>> wrote:

    Dear R users,

    I've already asked this question yesterday, but, though I had answer
    for the other ones (and they helped a lot, thanks), for some reason
    didn't get an answer for this one (I would also appreciate to know
    why, so that I can improve the quality and clarity of my future
    questions).

    Here it is again:

    I'm trying to use RODBC to export dataframes to xls files.
    When I run this code I get an error:
     > test <- structure(list(Group = c(1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3,
    3, 4, 4, 5), Group = c(2, 3, 4, 5, 6, 3, 4, 5, 6, 4, 5, 6, 5, 6, 6),
    test = c(0.907901716802262, 0.344080298502179, 0.780331168285069,
    2.15033450900747, 0.194069709110157, 0.406313481811673,
    0.116434832984871, 1.52727249397868, 0.579195268552845,
    0.420998518182892, 1.62939679051865, 0.138892090710994,
    1.11253003450962, 0.555496810201502, 1.78610263147685), crit =
    c(2.97744276941854, 2.98843563665370, 3.05786246930315,
    3.00681172135752, 2.99644239171413, 3.00036808377006,
    3.07797861408659, 3.02408697737205, 3.01060847439059,
    3.03639474502811, 2.99664917266571, 2.99135011459308,
    3.04177033698215, 3.04239401519992, 3.00305006434149), se =
    c(12.1028423223510, 15.1532795810610, 16.3991441261986,
    15.3598663144688, 14.9271014453042, 14.2113088036481,
    15.5329116369945, 14.4313862483545, 13.9698880958026,
    18.0115083683957, 17.0706765780184, 16.6823518483263,
    18.1856549192307, 17.8216415967046, 16.8702244895529), df =
    c(99.682919819226, 89.3039016709219, 50.9067902231679,
    76.0647290534967, 83.0087667496558, 80.2356900159524,
    43.4849997568059, 66.760479193059, 73.8040951542063,
    61.4088750589742, 82.8579246229594, 86.904905246028,
    58.9562752558462, 58.5971747302359, 78.4453136851244)), .Names =
    c("Group", "Group", "test", "crit", "se", "df"), row.names = c(NA,
    -15L), class = "data.frame")
     > xlsFile <- odbcConnectExcel("output.xls", readOnly=F)    ##the
    file is created here, it didn't exist before here
     > sqlSave(xlsFile, test, tablename="test1", rownames=F, addPK=T,
    append=T)
    Error in sqlSave(xlsFile, test, tablename = "test1", rownames = F,
    addPK = T,  :
      HYS21 -1508 [Microsoft][Pilote ODBC Excel] Le champ 'Group' existe
    déjà dans la table 'test1'.
    [RODBC] ERROR: Could not SQLExecDirect 'CREATE TABLE [test1]
      ("Group" NUMBER, "Group" NUMBER, "test" NUMBER, "crit" NUMBER,
    "se" NUMBER, "df" NUMBER)'

    The translation would be "the field 'Group' already exists in the
    sheet 'test1'".

    It does create the sheet "test1" but does not copy the data.
    It is obviously a problem with this dataset because it works with
    this for example:
    temp.df <- data.frame(a = rnorm(10), b = runif(10))
    But I have no idea what could be wrong.

    Could you please help me with this?
    Thanks in advance
    Regards,
    Ivan

    ______________________________________________
    R-help@r-project.org <mailto: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.




	[[alternative HTML version deleted]]

