Hello, I have a data set like one below.
 
First, 
I'd like to replace the empty cells with NA, and then the one immediately
above.
I could replace NAs with the immediate one, but don't know for the empty
cells.
 
index <- which(is.na(data1$year))
while (any(index)) {
  dummy$data1[index] <- dummy$data1[index - 1]
index <- which(is.na(data1$year))
}
 
Second,
The id in fact represents year-month-date of sampling (i.e., 10104 means
2001-01-04).
How can I split the id column into three columns of year, month, and date,
respectively such that I can do time-series analysis after aggregating them
for each month?
Or, Is there a way to transform the id into Date for doing irregular ts
analysis?
 
With much thanks,
Keun-Hyung
 
> data1
    year month    id
1   2001   Jan 10104
2     NA       10110
3     NA       10116
4     NA       10122
5     NA   Feb 10201
6     NA       10208
7     NA       10216
8     NA       10226
9     NA   Mar 10303
10    NA       10309
50  2002   Jan 20104
51    NA       20111
52    NA       20117
53    NA       20124
54    NA   Feb 20201
55    NA       20207
56    NA       20214
57    NA       20227
58    NA   Mar 20306
59    NA       20313
60    NA       20320
94  2003   Jan 30103
95    NA       30113
96    NA       30122
97    NA       30128
98    NA   Feb 30204
99    NA       30214
100   NA       30219
101   NA   Mar 30307
102   NA       30313
103   NA       30317
104   NA       30324
 
> str(data1)
'data.frame':     32 obs. of  3 variables:
 $ year : int  2001 NA NA NA NA NA NA NA NA NA ...
 $ month: chr  "Jan" "" "" "" ...
 $ id   : int  10104 10110 10116 10122 10201 10208 10216 10226 10303 10309
...
 
 
 
	[[alternative HTML version deleted]]