Ситуация: У меня есть некоторые данные о контрактах и о том, сколько акров покрыто контрактом в данном году.Контракты, с которыми я имею дело, имеют отвратительное соглашение об именах, которое заключается в том, что продления контрактов имеют то же имя, что и «a», «b», «c» и т. Д., Добавленные после номера.
Поскольку контракты могут быть возобновлены в любое время, расчет площади за определенный год означает, что при возобновлении счета учитывается дважды.Некоторые примеры данных могут помочь объяснить:
example <- data.frame(contract = c('c300a', 'c300b'),
true_contract = c('c300', 'c300'),
acres_2007 = c(100, 0),
acres_2008 = c(100, 100),
acres_2009 = c(0, 100)
)
print(example)
contract true_contract acres_2007 acres_2008 acres_2009
1 c300a c300 100 100 0
2 c300b c300 0 100 100
Как вы можете видеть, если переход от 300a
к 300b
произошел (например) 20 мая 2008 года, то существует двойной счетв 2008 году. Эти 100 акров - это один и тот же участок земли.Я хотел бы получить способ удалить одну из сотен - не важно, какой, поскольку оба контракта функционально "одинаковы".
Я могу сказать о проблеме, посмотрев на нее, но совершенно озадачен тем, как бы я решил проблему, используя R
.На самом деле, я всегда был в растерянности относительно того, как справляться с проблемами данных, когда отношения ясны только из взгляда на линии, которые находятся рядом друг с другом.Это очень стиль мышления в стиле Excel (относительная ссылка), но я не очень хорош в Excel / VBA.Кроме того, я сталкиваюсь с такими проблемами достаточно часто, и мне очень помогло бы выяснить, как сопоставить эту проблему с решениями R.