2013-08-02 32 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