【问题标题】:Data Frame - Fill in Missing Data数据框 - 填写缺失数据
【发布时间】:2017-04-05 14:10:18
【问题描述】:

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

   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

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

【问题讨论】:

    标签: r dataframe


    【解决方案1】:

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

    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)
    

    【讨论】:

    • 宾果游戏,完美运行。一个简单而优雅的解决方案。非常感激!我在尝试接受答案时遇到错误,所以稍后再试。
    猜你喜欢
    • 1970-01-01
    • 2018-05-02
    • 2019-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多