[R] Reading a data file one record at a time [SEC=UNCLASSIFIED]
jim holtman
jholtman at gmail.com
Fri Nov 13 01:10:40 CET 2009
try this:
> input <- readLines(textConnection("header line
+ Ray1 header
+ gate1 1,2,3,4,5,6,7
+ gate2 5,6,7,8,9,0
+ Ray2 header
+ gate1 5,4,3,2,1
+ gate2 8,7,6,5,4,34"))
> closeAllConnections()
> # delete first header line
> input <- input[-1]
>
> # read the data one line at a time, parsing the data
> result <- list()
> for (line in input){
+ # strip leading blanks
+ line <- sub("^ *", "", line)
+ x <- strsplit(line, ' ')[[1]]
+ if (x[2] == 'header'){
+ key <- x[1] # save 'Rayn' as key to data
+ next
+ }
+ result[[key]][x[1]] <- list(as.numeric(strsplit(x[2], ',')[[1]]))
+ }
>
> result
$Ray1
$Ray1$gate1
[1] 1 2 3 4 5 6 7
$Ray1$gate2
[1] 5 6 7 8 9 0
$Ray2
$Ray2$gate1
[1] 5 4 3 2 1
$Ray2$gate2
[1] 8 7 6 5 4 34
On Thu, Nov 12, 2009 at 1:02 AM, Justin Peter <J.Peter at bom.gov.au> wrote:
> Dear r-help,
>
> I have a radar data file in the following format:
>
> nrays
> for (1 to n_rays)
> { some_data_info
> for (1 to n_gates)
> { some_data_info}
> }
>
> N_rays=360 and n_gates=950
>
> The data looks something like:
>
> Header line1
> Ray1 header
> gate1 var1, var2,.....,varN
> ...
> gate950 var1, var2,.....,varN
> Ray2 header
> gate1 var1, var2,.....,varN
> ...
> gate950 var1, var2,.....,varN
> ...
> ...
> ...
> Ray360 header
> gate1 var1, var2,.....,varN
> ...
> gate950 var1, var2,.....,varN
>
> I am having trouble reading this data. Are there any suggestions on how to read the data file one block (corresponding to one ray) at a time?
>
> Any help appreciated.
>
> Regards,
> Justin
>
>
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> Dr. Justin R. Peter
> Research Scientist
> Queensland Climate Change Centre of Excellence
> based at
> Centre for Australian Weather and Climate Research (CAWCR),
> A partnership between the Australian Bureau of Meteorology and CSIRO
>
> e: j.peter at bom.gov.au<mailto:j.peter at bom.gov.au>
> p: +61 (0) 3 9669 4838
> f: +61 (0) 3 9669 4660
> s: Level 9
> Bureau of Meteorology Building
> 700 Collins Street
> Docklands
> VIC 3008
> Australia
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
>
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>
--
Jim Holtman
Cincinnati, OH
+1 513 646 9390
What is the problem that you are trying to solve?
More information about the R-help
mailing list