Rのwrite.csvではcol.namesが使えない

write.tableではcol.namesオプションがあり、変数名を出力せずにアウトプットができます。しかし、write.csvでは明示的にcol.namesオプションが殺されており、col.namesは指定できません。
これは、write.csvのソースコードを確認するとはっきりとします。

function (...) 
{
    Call <- match.call(expand.dots = TRUE)
    for (argname in c("append", "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$append <- NULL
    Call$col.names <- if (is.logical(rn) && !rn) 
        TRUE
    else NA
    Call$sep <- ","
    Call$dec <- "."
    Call$qmethod <- "double"
    Call[[1L]] <- as.name("write.table")
    eval.parent(Call)
}

中を見れば判るとおり、col.namesを使えないようにしています。元々、write.csvはwrite.tableのサブセットであり、いくつかのパラメータを既定値としてセットしたものとしてデザインされています。よって、その範囲外の使い方をするには大本のwrite.tableを使うようになっています。

コメントを残す