31 lines
943 B
R
31 lines
943 B
R
|
|
||
|
write.ftsv <- function(data, con, name="unnamed_dataset", rowdim="rows", coldim="cols") {
|
||
|
/* If con is a file name, open it */
|
||
|
opened.here = FALSE
|
||
|
if (is.character(con)){
|
||
|
con = file(con, "w")
|
||
|
opened.here = TRUE
|
||
|
}
|
||
|
|
||
|
/* Substitute all whitespace with underscores in identifiers */
|
||
|
rows <- paste(gsub("\\s", "_", rownames(data)), collapse=" ")
|
||
|
cols <- paste(gsub("\\s", "_", colnames(data)), collapse=" ")
|
||
|
|
||
|
/* Write header */
|
||
|
writeLines(c("# type: dataset",
|
||
|
paste("# dimension:", rowdim, rows, collapse=' '),
|
||
|
paste("# dimension:", coldim, cols, collapse=' '),
|
||
|
paste("# name:", name, collapse=' '),
|
||
|
""),
|
||
|
con=con)
|
||
|
|
||
|
/* Write matrix */
|
||
|
write.table(data, file=con, col.names=FALSE, row.names=FALSE, sep="\t")
|
||
|
|
||
|
/* If con was a string, close file now */
|
||
|
if (opened.here)
|
||
|
close(con)
|
||
|
}
|
||
|
|
||
|
|