file = tmpfile, sep="\n")
  close(tmpfile)
  read.table(tmpfilename, header = TRUE)


Eurgh! Does R clean up tempfiles by itself?


Here's my idea. Just stick all the values in a vector, using free-formatting to make it look nice, then reform it into a data frame:

indata <- function(x){

data <- c(

            "Sex", "Id",  "Age",
            "Male",   1,   13.2,
            "Female", 2,    8.1,
            "Male",   3,    6.3,
            "Male",   2,   12.2,

)

  ncol <- 3
  nrow <- length(data)/ncol

  heads <- data[1:ncol];data <- data[-(1:ncol)]
  asDF <- data.frame(matrix(data,ncol=ncol,byrow=T))

  asDF[,2] <- as.numeric(asDF[,2])
  asDF[,3] <- as.numeric(asDF[,3])
  names(asDF) <- heads
  asDF
}



Note that 'data' will be all character if there's any characters in it, so you need to tweak the types with as.numeric or as.factor if thats what you need. You could probably test if a column was all valid numbers and automatically make it numeric, but then we're going a long way to duplicating a lot of the code in read.table, which does something like this (it uses 'scan()' to read from a file and then reforms it all into a data frame).

All values must be comma separated and character values must be quoted.

Baz

______________________________________________
[EMAIL PROTECTED] mailing list
https://www.stat.math.ethz.ch/mailman/listinfo/r-help

Reply via email to