[R] reading long matrix

Colin Beale c.beale at macaulay.ac.uk
Thu Dec 22 18:06:33 CET 2005


Hi,

I'm needing some help finding a function to read a large text file into an array in R. The data are essentially presence / absence / na data for many species and come as a grid with each species name (after two spaces) at the beginning of the matrix defining the map for that species. An excerpt could therefore be:

  SPECIES1
999001099
900110109
011101000
901100101
110100019
901110019

  SPECIES2
999000099
900110119
011101100
901010101
110000019
900000019

  SPECIES3
999001099
900100109
011100010
901100100
110100019
901110019

where 9 is actually na, 0 is absence and 1 presence. The final array I want to create should have dimensions that are the x and y coordinates and the number of species (known in advance). (In this example dim = c(9,6,3)). It would be sort of neat if the code could also read the species name into the appropriate names attribute, but this is a refinement that I could probably do if someone can help me read the data into R and into an array in the first place. I'm currently thinking a line by line approach using readLines might be the best option, but I've got a very long file - well over 100 species, each a matrix of 70 x 100 datapoints. making this option rther time consuming, I expect - especially as the next dataset has 1300 species and a much larger grid...

Any hints would be gratefully recieved.

Colin Beale
Macaulay Land Use Research Institute




More information about the R-help mailing list