df = read.table(file = 'http://www.meteoprognoza.pl/Test/Polska10km/1/Sondaz_calosc.txt', header=F, stringsAsFactors = F)
head(df,40) # sprawdzenie czy plik dobrze sie wczytal
## V1 V2 V3 V4 V5 V6
## 1 2016-10-31 godz. 18.0 dla: 54.75N 17.53
## 2 1019.1 29 8.5 -245.7 28 2.00
## 3 1000.0 187 7.6 3.1 20 4.00
## 4 975.0 393 5.8 2.3 20 4.00
## 5 950.0 603 3.8 1.8 19 4.00
## 6 925.0 822 1.8 0.9 15 4.00
## 7 900.0 1049 0.4 -1.5 5 4.00
## 8 875.0 1274 -0.8 -3.9 355 6.00
## 9 850.0 1505 -1.7 -4.9 349 8.00
## 10 825.0 1742 -2.3 -4.7 346 10.00
## 11 800.0 1951 -2.8 -4.0 344 13.00
## 12 775.0 2192 -3.3 -3.8 343 16.00
## 13 750.0 2487 -3.9 -4.3 342 18.00
## 14 725.0 2768 -4.5 -5.3 341 19.00
## 15 700.0 3044 -5.3 -6.5 343 21.00
## 16 675.0 3329 -6.2 -7.9 346 22.00
## 17 650.0 3625 -7.5 -9.4 348 24.00
## 18 625.0 3929 -9.0 -11.0 350 25.00
## 19 600.0 4244 -10.9 -13.1 350 25.00
## 20 575.0 4570 -12.9 -15.5 349 26.00
## 21 550.0 4907 -15.1 -18.1 349 27.00
## 22 525.0 5258 -17.3 -20.9 349 28.00
## 23 500.0 5621 -19.7 -24.1 349 29.00
## 24 475.0 6000 -22.3 -27.6 349 29.00
## 25 450.0 6396 -25.1 -31.2 349 30.00
## 26 425.0 6808 -28.3 -35.0 350 31.00
## 27 400.0 7239 -31.7 -38.4 350 32.00
## 28 375.0 7691 -35.3 -41.4 350 34.00
## 29 350.0 8168 -39.1 -44.5 348 37.00
## 30 325.0 8671 -43.1 -48.2 345 39.00
## 31 300.0 9205 -47.5 -52.4 343 41.00
## 32 275.0 9774 -52.2 -56.7 341 42.00
## 33 250.0 10383 -57.0 -61.5 342 43.00
## 34 225.0 11043 -60.9 -66.7 345 40.00
## 35 200.0 11771 -61.9 -71.3 343 33.00
## 36 150.0 13572 -56.2 -85.6 339 25.00
## 37 100.0 16134 -60.3 -84.1 344 17.00
## 38 50.0 20434 -61.9 -84.8 350 11.00
## 39 2016-10-31 godz. 19.0 dla: 54.75N 17.53
## 40 1019.0 29 9.2 -245.7 56 3.00
v <- which(df[,2]=='godz.') # poszukiwanie linii w pliku, ktore rozpoczynaja nowy 'sondaz'
system.time(b <- split(df, findInterval(1:nrow(df), v))) # rozdzielenie kazdego pomiaru do listy
## user system elapsed
## 10.764 0.152 10.915
# przy okazji sprawdzenie czy konwersja nie jest zbyt obciazajaca...
b[[1]][-1,] # tylko wartosci dla pierwszego 'sondazu'
## V1 V2 V3 V4 V5 V6
## 2 1019.1 29 8.5 -245.7 28 2
## 3 1000.0 187 7.6 3.1 20 4
## 4 975.0 393 5.8 2.3 20 4
## 5 950.0 603 3.8 1.8 19 4
## 6 925.0 822 1.8 0.9 15 4
## 7 900.0 1049 0.4 -1.5 5 4
## 8 875.0 1274 -0.8 -3.9 355 6
## 9 850.0 1505 -1.7 -4.9 349 8
## 10 825.0 1742 -2.3 -4.7 346 10
## 11 800.0 1951 -2.8 -4.0 344 13
## 12 775.0 2192 -3.3 -3.8 343 16
## 13 750.0 2487 -3.9 -4.3 342 18
## 14 725.0 2768 -4.5 -5.3 341 19
## 15 700.0 3044 -5.3 -6.5 343 21
## 16 675.0 3329 -6.2 -7.9 346 22
## 17 650.0 3625 -7.5 -9.4 348 24
## 18 625.0 3929 -9.0 -11.0 350 25
## 19 600.0 4244 -10.9 -13.1 350 25
## 20 575.0 4570 -12.9 -15.5 349 26
## 21 550.0 4907 -15.1 -18.1 349 27
## 22 525.0 5258 -17.3 -20.9 349 28
## 23 500.0 5621 -19.7 -24.1 349 29
## 24 475.0 6000 -22.3 -27.6 349 29
## 25 450.0 6396 -25.1 -31.2 349 30
## 26 425.0 6808 -28.3 -35.0 350 31
## 27 400.0 7239 -31.7 -38.4 350 32
## 28 375.0 7691 -35.3 -41.4 350 34
## 29 350.0 8168 -39.1 -44.5 348 37
## 30 325.0 8671 -43.1 -48.2 345 39
## 31 300.0 9205 -47.5 -52.4 343 41
## 32 275.0 9774 -52.2 -56.7 341 42
## 33 250.0 10383 -57.0 -61.5 342 43
## 34 225.0 11043 -60.9 -66.7 345 40
## 35 200.0 11771 -61.9 -71.3 343 33
## 36 150.0 13572 -56.2 -85.6 339 25
## 37 100.0 16134 -60.3 -84.1 344 17
## 38 50.0 20434 -61.9 -84.8 350 11
b[[1]][1,] # tylko metadane dla pierwszego pomiaru
## V1 V2 V3 V4 V5 V6
## 1 2016-10-31 godz. 18 dla: 54.75N 17.53