2013-08-02 34 views
1

我公司擁有一批以下列格式給出的數據集:讀取的數據集與R中不等長的列

Station number: 505 
Location:  Sundarijal              Latitude: 27 46 30 
River:   Bagmati River              Longitude: 85 25 40 

Year:   1963 

           Mean daily discharge in m3/s 
           ============================ 

Day  Jan. Feb. Mar. Apr. May Jun. Jul. Aug. Sep. Oct. Nov. Dec. 
01 0.250 0.190 0.100 0.100 0.310 0.160 0.900 4.90 4.86 1.50 0.710 0.400 
02 0.250 0.160 0.130 0.130 0.250 0.160 0.900 4.78 5.01 1.68 0.710 0.400 
03 0.250 0.160 0.220 0.130 0.220 0.600 0.700 4.90 6.00 1.77 0.775 0.400 
04 0.250 0.160 0.190 0.160 0.190 0.160 0.650 4.30 7.05 2.35 0.775 0.400 
05 0.220 0.160 0.160 0.160 0.190 0.160 0.550 4.06 4.04 1.59 0.710 0.400 
06 0.220 0.160 0.160 0.190 0.190 0.160 0.700 3.34 3.64 1.41 0.645 0.400 
07 0.220 0.160 0.280 0.190 0.190 0.190 1.18 3.22 3.23 1.32 0.645 0.355 
08 0.220 0.160 0.190 0.190 0.310 0.130 0.800 4.54 3.12 1.23 0.580 0.355 
09 0.220 0.130 0.190 0.190 0.280 0.160 1.11 5.74 2.79 1.17 0.580 0.355 
10 0.220 0.130 0.160 0.190 0.250 0.190 1.18 5.46 2.68 1.17 0.580 0.355 
11 0.220 0.130 0.160 0.220 0.190 0.160 1.46 4.66 2.57 1.10 0.535 0.355 
12 0.220 0.130 0.160 0.220 0.190 0.160 2.05 4.30 2.24 1.10 0.535 0.355 
13 0.220 0.130 0.130 0.220 0.160 0.130 1.32 3.58 2.57 1.04 0.535 0.355 
14 0.220 0.130 0.130 0.250 0.160 0.130 1.11 2.86 2.24 1.04 0.535 0.355 
15 0.220 0.130 0.130 0.220 0.160 2.32 0.900 6.16 1.95 1.04 0.535 0.355 
16 0.250 0.130 0.130 0.250 0.130 0.340 1.87 3.58 2.35 1.04 0.490 0.310 
17 0.220 0.130 0.130 0.220 0.130 0.340 0.970 4.42 1.95 0.970 0.490 0.310 
18 0.220 0.100 0.100 0.160 0.100 0.280 2.62 5.60 1.77 0.970 0.490 0.310 
19 0.220 0.100 0.100 0.160 0.100 0.650 1.39 4.30 1.68 0.905 0.490 0.310 
20 0.220 0.100 0.100 0.160 0.090 0.550 1.69 4.30 1.59 0.905 0.490 0.310 
21 0.220 0.100 0.100 0.130 0.090 0.700 2.14 4.06 1.50 0.905 0.490 0.310 
22 0.220 0.100 0.190 0.160 0.080 0.400 2.41 6.30 1.41 0.840 0.490 0.310 
23 0.220 0.100 0.190 0.160 0.090 0.340 1.87 4.78 1.41 0.840 0.445 0.310 
24 0.220 0.100 0.130 0.190 0.080 0.280 2.23 5.04 1.23 0.840 0.445 0.310 
25 0.280 0.100 0.100 0.220 0.080 0.280 2.62 4.30 1.23 0.840 0.445 0.310 
26 0.190 0.100 0.100 0.250 0.130 0.250 4.54 4.06 1.86 0.840 0.445 0.310 
27 0.190 0.100 0.100 0.220 0.100 0.800 2.50 9.50 1.59 0.775 0.445 0.310 
28 0.190 0.100 0.100 0.190 0.550 0.850 3.94 4.42 1.68 0.710 0.445 0.310 
29 0.190   0.100 0.280 0.160 0.800 7.02 3.94 2.35 0.710 0.445 0.310 
30 0.190   0.100 0.220 0.100 0.900 5.46 4.18 1.95 0.710 0.400 0.310 
31 0.190   0.100   0.220   4.54 10.0   0.710   0.310 

我想追加所有列在一起,使一個列整年。然而,當我嘗試使用閱讀本:

temp <- read.table(files[i], skip = 10, fill = TRUE, nrows = 31) 
temp <- temp[,2:13] 

的空白字段只需在每行的末尾,而不是在所需的列結束。例如,在第29天,2月獲得3月的價值,3月獲得4月的價值等,直到12月獲得NA。基本上,在本表中閱讀時,是否有區分較大的差距和較小的差距?

回答

4

這看起來像一個固定寬度的格式文件。試試這個例子:

read.fwf(files[i],skip=10,widths=rep(c(6,-1),13)) 
+0

這將是我的猜測基於OP描述的行爲。 +1 – A5C1D2H2I1M1N2O1R2T1

+0

+1是的,很好的電話。 – Thomas