我有一个数据集,其中包含2010年至2013年的信息。但是,当给定年份没有信息时,与其使用NA行,不存在该行。

datos <- data.frame(Country = c(rep("Australia", 3), rep("Belgium", 3)),
     Year = c(2010, 2011, 2013, 2010, 2011, 2013),
     Value = c(0.34, 0.35, 0.25, 0.30, 0.34, 0.38))

我得到了:
  Country   Year  Value
1 Australia 2010   0.34
2 Australia 2011   0.35
3 Australia 2013   0.25
4   Belgium 2010   0.30
5   Belgium 2011   0.34
6   Belgium 2013   0.38

我想要的是:在每个Country上为缺少的年份创建行,并估算Value,使其与上一年相同。
   Country   Year  Value
1 Australia 2010   0.34
2 Australia 2011   0.35
3 Australia 2012   0.35   #New row
4 Australia 2013   0.25
5   Belgium 2010   0.30
6   Belgium 2011   0.34
7   Belgium 2012   0.34   #New row
8   Belgium 2013   0.38

最佳答案

这是complete的一个选项

library(tidyverse)
complete(datos, Country, Year = min(Year):max(Year)) %>%
        fill(Value)

关于r - 在数据框中生成带有条件值的行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52933388/

10-10 05:03