From stefan.albrecht at apep.com  Mon Oct 27 09:18:32 2008
From: stefan.albrecht at apep.com (Albrecht, Dr. Stefan (AIM SE))
Date: Mon, 27 Oct 2008 09:18:32 +0100
Subject: [Rd]  write.csv(..., col.names = FALSE) (PR#13202)
In-Reply-To: <Pine.OSF.4.58.0810262349370.479523@wotan.mdacc.tmc.edu>
References: <20081024123008.3E08E282C769@mail.pubhealth.ku.dk>
	<Pine.OSF.4.58.0810262349370.479523@wotan.mdacc.tmc.edu>
Message-ID: <B3E803F92F909741B050C9FA4DDEDE75027B8B6C@naimucog.allianzde.rootdom.net>

Dear Paul,

Thanks for your hint to write.table(). I have already chosen this route.

Note that if  row.names = FALSE, col.names gets TRUE and not NA.
>     rn <- eval.parent(Call$row.names)
>     Call$col.names <- if (is.logical(rn) && !rn)
>         TRUE
>     else NA

This is in contradiction to your citation and not very helpful, if one wants to append data to a file.

With best regards,
Stefan

____________________________________
Dr. Stefan Albrecht, CFA
Allianz Investment Management SE
AIM-GI-ALM
K?niginstr. 28 | 80802 Munich | Germany

Phone: +49.(0)89.3800.18317
Fax: +49.(0)89.3800.818317
EMail: stefan.albrecht at allianz.com


Allianz Investment Management SE
Vorsitzender des Verwaltungsrates: Dr. Paul Achleitner
Gesch?ftsf?hrende Direktoren: Dr. Karl-Hermann Lowe, Dr. Bernd Gutting 

Sitz der Gesellschaft: M?nchen, Deutschland, Registergericht: M?nchen HRB 162748
F?r Umsatzsteuerzwecke: Ust-ID-Nr.: DE 251 168 597

-----Urspr?ngliche Nachricht-----
Von: Paul Roebuck [mailto:plroebuck at mdanderson.org] 
Gesendet: Monday, October 27, 2008 05:59
An: R Development Mailing List
Cc: Albrecht, Dr. Stefan (AIM SE)
Betreff: Re: [Rd] write.csv(..., col.names = FALSE) (PR#13202)

On Fri, 24 Oct 2008 stefan.albrecht at allianz.com wrote:

> in write.csv() it is not possible to set both
> row.names = FALSE, col.names = FALSE
> since the col.names = FALSE gets overwritten:
>
> > write.csv
> function (...)
> {
>     Call <- match.call(expand.dots = TRUE)
>     for (argname in c("col.names", "sep", "dec", "qmethod")) if
> (!is.null(Call[[argname]]))
>         warning(gettextf("attempt to set '%s' ignored", argname),
>             domain = NA)
>     rn <- eval.parent(Call$row.names)
>     Call$col.names <- if (is.logical(rn) && !rn)
>         TRUE
>     else NA
>     Call$sep <- ","
>     Call$dec <- "."
>     Call$qmethod <- "double"
>     Call[[1]] <- as.name("write.table")
>     eval.parent(Call)
> }
> <environment: namespace:utils>
> >
>
> This is not documented and should be changed, as it is
> an unintended reaction.

?write.csv

> write.csv and write.csv2 provide convenience wrappers
> for writing CSV files. They set sep, dec and qmethod,
> and col.names to NA if row.names=TRUE and TRUE otherwise.

Seems documented to me.

Note that write.csv is just a wrapper for write.table.
If you don't like the wrapper, you could always call
write.table with its arguments set just as you want.

----------------------------------------------------------
SIGSIG -- signature too long (core dumped)



[Rd] write.csv(..., col.names = FALSE) (PR#13202)
Albrecht, Dr. Stefan (AIM SE