Extend an irregular sequence and add zeros to missing values

前端 未结 9 2292
深忆病人
深忆病人 2020-12-19 08:36

I have a data frame with a sequence in \'col1\' and values in \'col2\':

col1 col2
2     0.02
5     0.12
9     0.91
13    1.13

I want to exp

9条回答
  •  长情又很酷
    2020-12-19 09:03

    library(tidyr)
    
    complete(d, col1 = 1:13, fill = list(col2 = 0))
    

    or

    complete(d, col1 = seq(max(col1))), fill = list(col2 = 0))
    
    # A tibble: 13 × 2
        col1  col2
        
    1      1  0.00
    2      2  0.02
    3      3  0.00
    4      4  0.00
    5      5  0.12
    6      6  0.00
    7      7  0.00
    8      8  0.00
    9      9  0.91
    10    10  0.00
    11    11  0.00
    12    12  0.00
    13    13  1.13
    

    or

    library(dplyr)
    
    left_join(data.frame(col1 = seq(max(d$col1)))), d)
    

    But this will leave NAs instead of zeros.

提交回复
热议问题