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

Hiroyuki Sato hiroysato at gmail.com
Fri Mar 25 06:09:46 CET 2016


Hello Ulrik

Thank you for replying.

The real data has many IDs( about 3,000 IDS). So I want to find missing
values with function or something.
If 104 not in s, then add 104 value with all column zero.

And also real data has many columns( 80 ~ 5,000, columns. it is not fixed
length ).
So I would like to add values with function or something too

ex) I can't write following statement.
  data.frame(ID = c(104, 105), PDT1 = 0, PDT2  = 0, PDT3 = 0, ... PDT5000 =
0)

Do you have any good idea?

Regards.




2016年3月25日(金) 13:58 Ulrik Stervbo <ulrik.stervbo at gmail.com>:

> 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