数据框 - 填写缺失的数据

时间:2017-04-05 14:10:19

标签: r dataframe

我有一个包含日期,组(因子)和值列的数据框。

   Date       Group       Value
01/01/2015      A           1
01/01/2015      B           5
01/01/2015      C           4
01/02/2015      A           10
01/02/2015      B           1
01/03/2015      C           5

某些群组没有为日期输入的值。在上面的示例中,组C没有01/02/2015的值。 A& B没有01/03/2015的值。

我想用零值填写这些缺失的行,这样(顺序并不重要):

Date           Group    Value
01/01/2015       A        1
01/01/2015       B        5
01/01/2015       C        4
01/02/2015       A        10
01/02/2015       B        1
01/03/2015       C        5
01/03/2015       A        0
01/03/2015       B        0
01/02/2015       C        0

有谁知道实现这一目标的简单方法?感谢。

1 个答案:

答案 0 :(得分:2)

试试这个单行。它将数据从长格式转换为宽格式,然后再转换为长格式。没有包使用。

as.data.frame(xtabs(Value ~ Group + Date, DF), responseName = "Value")

,并提供:

  Group       Date Value
1     A 01/01/2015     1
2     B 01/01/2015     5
3     C 01/01/2015     4
4     A 01/02/2015    10
5     B 01/02/2015     1
6     C 01/02/2015     0
7     A 01/03/2015     0
8     B 01/03/2015     0
9     C 01/03/2015     5

注意:可重复形式的输入是:

Lines <- "Date   Group       Value
01/01/2015      A           1
01/01/2015      B           5
01/01/2015      C           4
01/02/2015      A           10
01/02/2015      B           1
01/03/2015      C           5"

DF <- read.table(text = Lines, header = TRUE)