我有一个数据集,其中包含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/