Read data with multiple line patterns
Data files may have non-identical patterns so that different lines require different what=
arguments to scan()
. This function takes a list of such patterns and applies them in separate calls to produce an interwoven list of the resulting data.
scanRepeated(file, what, ...)
file |
The file of input data, organized so that each line can be read by a call to |
what |
A list, whose elements are suitable as the argument of the same name to |
... |
Additional arguments to be passed to |
The function operates by setting up a call to mapply
to read each line of the file as a text connection.
For this reason, really large files will be slow. See the examples in the book for alternatives in R or Perl.
A list, with one element per line. When the pattern of the lines repeats, this has the data form of a matrix of type "list"
, with k rows. The list can be restructured in a variety of ways, but its format is often suitable as is for computations that iterate over the sets of k line types, as in the book example.
## Not run: what = list( list(abb = "", population = 1, area = 1, latitude = 1, longitude = 1), list(name = "", population = 1, area = 1) ) data <- scanRepeated("stateCities.txt", what, sep = ",") ## End(Not run) ## produces a list of 100 elements, alternately state and city data.
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.