У меня есть набор данных, который выглядит следующим образом:
ByYear <- data.frame( V1 = c(2005,2006,2007,2008,2005,2006,2008,2006,2007,2005,2006,2007,2008),
V2 = c(0.5,0.2,1,1.6,2,5,8,4,3,6,8,6,5),
V3 = c('A','A','A','A','B','B','B','C','C','D','D','D','D'))
Что дает мне
> ByYear
V1 V2 V3
1 2005 0.5 A
2 2006 0.2 A
3 2007 1.0 A
4 2008 1.6 A
5 2005 2.0 B
6 2006 5.0 B
7 2008 8.0 B
8 2006 4.0 C
9 2007 3.0 C
10 2005 6.0 D
11 2006 8.0 D
12 2007 6.0 D
13 2008 5.0 D
Некоторые годы отсутствуют в V1.Это связано с ошибкой ввода данных.Я знаю, что это деликатный вопрос, но я точно знаю, что в этом случае пропущенный год в V1 означает, что значение в V2 должно быть 0.
Есть ли способ создать новый набор данных, которыйдобавляет строку с нулевым значением к любому отсутствующему году, например:
> ByYear
V1 V2 V3
2005 0.5 A
2006 0.2 A
2007 1.0 A
2008 1.6 A
2005 2.0 B
2006 5.0 B
2007 0.0 B
2008 8.0 B
2005 0.0 C
2006 4.0 C
2007 3.0 C
2008 0.0 C
2005 6.0 D
2006 0.0 D
2007 6.0 D
2008 5.0 D
Спасибо всем за помощь!