[R] How to add no data entries into current dataframe?

Ulrik Stervbo ulrik.stervbo at gmail.com
Fri Mar 25 05:58:11 CET 2016


Hi Hiroyuki,

The row bind function rbind() is what you need

s <- dcast(s,ID ~ CODE, value.var="VAR",sum)
df2 <- data.frame(ID = c(104, 105), PDT1 = 0, PDT2  = 0, PDT3 = 0)
rbind(s, df2)

hope this helps
Ulrik

On Fri, 25 Mar 2016 at 05:52 Hiroyuki Sato <hiroysato at gmail.com> wrote:

> Hello members
>
> Question
>
> Could you tell me how to add ID 100, 104, 105 values with zero?
>
> 1, Source data
>
>
> ID 100, 104 and 105 has no values.
>
>
> > s
> ID DATE VAR CODE
> 1 101 20160301 1 PDT1
> 2 102 20160301 1 PDT2
> 3 103 20160301 1 PDT3
> 4 103 20160302 1 PDT3
>
> s <- structure(list(ID = c(101L, 102L, 103L, 103L), DATE = c(20160301L,
> 20160301L, 20160301L, 20160302L), VAR = c(1L, 1L, 1L, 1L), CODE =
> structure(c(1L,
> 2L, 3L, 3L), .Label = c("PDT1", "PDT2", "PDT3"), class = "factor")), .Names
> = c("ID",
> "DATE", "VAR", "CODE"), class = "data.frame", row.names = c(NA,
> -4L))
>
> src <- 100:106
>
>
> 2, Expect output
>
> ID PDT1 PDT2 PDT3
> 1 100 0 0 0
> 2 101 1 0 0
> 3 102 0 1 0
> 4 103 0 0 2
> 5 104 0 0 0
> 6 105 0 0 0
>
> 3, Convert process.
>
> I can convert data "s" like following.
>
> > library(reshape2)
> > dcast(s,ID ~ CODE, value.var="VAR",sum)
> ID PDT1 PDT2 PDT3
> 1 101 1 0 0
> 2 102 0 1 0
> 3 103 0 0 2
>
> Could you tell me how to add 100, 104, 105 values into convert results?
>
>
> Regards.
>
>         [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
> 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.
>

	[[alternative HTML version deleted]]



More information about the R-help mailing list