[R] reorganize data
David Winsemius
dwinsemius at comcast.net
Tue Feb 12 17:48:41 CET 2013
On Feb 12, 2013, at 2:56 AM, Niklas Larson wrote:
> Hi R users,
> Wonder if somebody could give me help on how to reshape this type of data:
>
#Adding a bit of code to read this into R:
Lines <- readLines(textConnection("Date:10.09.19 Time:21:39:05 Lat:N62.37.18 Long:E018.07.32
0000-0010 | 28| 28
0010-0020| 302| 302
0020-0030| 42| 42
0030-0040| 2| 2
0040-0050| 1| 1
0060-0070| 1| 1
_
Date:10.09.19 Time:21:44:52 Lat:N62.38.00 Long:E018.09.07
0000-0010| 32| 32
0010-0020| 334| 334
0020-0030| 27| 27
0030-0040| 2| 2
0070-0080| 1| 1
0080-0090| 1| 1
0090-0100| 1| 1
0100-0110| 1| 1
_
Date:10.09.19 Time:21:50:35 Lat:N62.38.42 Long:E018.10.40
0000-0010| 63| 63
0010-0020| 303| 303
0020-0030| 85| 85
0030-0040| 12| 12
0040-0050| 4| 4
0050-0060| 1| 1
0060-0070| 4| 4
0070-0080| 1| 1"))
>
> ----------------------------------------------------------------------------------------------
>
> into this:
>
> -------------------------------------------------------------------------------------------------
> Date:10.09.19 Time:21:39:05 Lat:N62.37.18 Long:E018.07.32 0000-0010| 28|
> 28
> Date:10.09.19 Time:21:39:05 Lat:N62.37.18 Long:E018.07.32 0010-0020| 302|
> 302
> Date:10.09.19 Time:21:39:05 Lat:N62.37.18 Long:E018.07.32 0020-0030| 42|
> 42
>
> Date:10.09.19 Time:21:50:35 Lat:N62.38.42 Long:E018.10.40 0070-0080| 1|
> 1
>
Snipped
This should get you started along one possible path. Still to be done would be removing the lines that only had dashes and perhaps parsing the headers.
data.frame(dattimeLatlon = Lines[rep( grep("Date", Lines), each=diff(numdt))] ,
vals=Lines[ grep("^[^D]", Lines) ] )
#----------
dattimeLatlon vals
1 Date:10.09.19 Time:21:39:05 Lat:N62.37.18 Long:E018.07.32 0000-0010 | 28| 28
2 Date:10.09.19 Time:21:39:05 Lat:N62.37.18 Long:E018.07.32 0010-0020| 302| 302
3 Date:10.09.19 Time:21:39:05 Lat:N62.37.18 Long:E018.07.32 0020-0030| 42| 42
4 Date:10.09.19 Time:21:39:05 Lat:N62.37.18 Long:E018.07.32 0030-0040| 2| 2
5 Date:10.09.19 Time:21:39:05 Lat:N62.37.18 Long:E018.07.32 0040-0050| 1| 1
6 Date:10.09.19 Time:21:39:05 Lat:N62.37.18 Long:E018.07.32 0060-0070| 1| 1
7 Date:10.09.19 Time:21:39:05 Lat:N62.37.18 Long:E018.07.32 _
8 Date:10.09.19 Time:21:39:05 Lat:N62.37.18 Long:E018.07.32 0000-0010| 32| 32
9 Date:10.09.19 Time:21:44:52 Lat:N62.38.00 Long:E018.09.07 0010-0020| 334| 334
10 Date:10.09.19 Time:21:44:52 Lat:N62.38.00 Long:E018.09.07 0020-0030| 27| 27
11 Date:10.09.19 Time:21:44:52 Lat:N62.38.00 Long:E018.09.07 0030-0040| 2| 2
12 Date:10.09.19 Time:21:44:52 Lat:N62.38.00 Long:E018.09.07 0070-0080| 1| 1
13 Date:10.09.19 Time:21:44:52 Lat:N62.38.00 Long:E018.09.07 0080-0090| 1| 1
14 Date:10.09.19 Time:21:44:52 Lat:N62.38.00 Long:E018.09.07 0090-0100| 1| 1
15 Date:10.09.19 Time:21:44:52 Lat:N62.38.00 Long:E018.09.07 0100-0110| 1| 1
16 Date:10.09.19 Time:21:44:52 Lat:N62.38.00 Long:E018.09.07 _
17 Date:10.09.19 Time:21:50:35 Lat:N62.38.42 Long:E018.10.40 0000-0010| 63| 63
18 Date:10.09.19 Time:21:50:35 Lat:N62.38.42 Long:E018.10.40 0010-0020| 303| 303
19 Date:10.09.19 Time:21:50:35 Lat:N62.38.42 Long:E018.10.40 0020-0030| 85| 85
20 Date:10.09.19 Time:21:50:35 Lat:N62.38.42 Long:E018.10.40 0030-0040| 12| 12
21 Date:10.09.19 Time:21:50:35 Lat:N62.38.42 Long:E018.10.40 0040-0050| 4| 4
22 Date:10.09.19 Time:21:50:35 Lat:N62.38.42 Long:E018.10.40 0050-0060| 1| 1
23 Date:10.09.19 Time:21:50:35 Lat:N62.38.42 Long:E018.10.40 0060-0070| 4| 4
24 Date:10.09.19 Time:21:50:35 Lat:N62.38.42 Long:E018.10.40 0070-0080| 1| 1
David Winsemius
Alameda, CA, USA
More information about the R-help
mailing list