[R] zero-fill absent data
Peter Alspach
Peter.Alspach at plantandfood.co.nz
Tue Jan 5 23:53:02 CET 2010
Tena koe Dan
On approach - create a fullFrame with all your observations and merge
with the frame:
> frame <- as.data.frame(cbind(c(1:2,5:7,10),c(0.5,0.2,1,1.6,2,0)))
> fullFrame <- as.data.frame(min(frame[,1]):max(frame[,1])) # Create
fullFrame
> fullFrame
min(frame[, 1]):max(frame[, 1])
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 10
> fullFrame <- merge(fullFrame, frame, by=1, all.x=T) # Merge with frame
> fullFrame[is.na(fullFrame[,2]),2] <- 0 # Replace NAs with 0s
> fullFrame
min(frame[, 1]):max(frame[, 1]) V2
1 1 0.5
2 2 0.2
3 3 0.0
4 4 0.0
5 5 1.0
6 6 1.6
7 7 2.0
8 8 0.0
9 9 0.0
10 10 0.0
HTH ...
Peter Alspach
> -----Original Message-----
> From: r-help-bounces at r-project.org
> [mailto:r-help-bounces at r-project.org] On Behalf Of Dan Kortschak
> Sent: Wednesday, 6 January 2010 11:40 a.m.
> To: r-help at r-project.org
> Subject: [R] zero-fill absent data
>
> Hello,
>
> I have a set of data frames, generated by an SQL query that I
> am working with. Because of the way the query was written,
> zero values for the dependent variable (V2 in the example)
> are not recorded. Up until now this has not been a problem.
>
> I would like to be able to fill all absent data with 0.
>
> Current state of data (e.g.):
> > frame<-as.data.frame(cbind(c(1:2,5:7),c(0.5,0.2,1,1.6,2)))
> > frame
> V1 V2
> 1 1 0.5
> 2 2 0.2
> 3 5 1.0
> 4 6 1.6
> 5 7 2.0
>
> So that frame returns:
>
> V1 V2
> 1 1 0.5
> 2 2 0.2
> 3 3 0.0
> 4 4 0.0
> 5 5 1.0
> 6 6 1.6
> 7 7 2.0
>
>
> Since absent data may be beyond the last recorded point I'd
> like to be able to use a terminating 0
>
> > frame<-as.data.frame(cbind(c(1:2,5:7,10),c(0.5,0.2,1,1.6,2,0)))
> > frame
> V1 V2
> 1 1 0.5
> 2 2 0.2
> 3 5 1.0
> 4 6 1.6
> 5 7 2.0
> 6 10 0.0
>
> So that values 7<V1<10 are zero filled.
>
> Can anyone suggest a method to do this?
>
> thank you for your time.
> Dan
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide
> http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>
More information about the R-help
mailing list