У меня есть большой набор данных (3,2 млн записей) по среднегодовым средним показателям содержания химических веществ в воде (Chem_ID), организованных по местам мониторинга (Site_ID) и годам отбора проб (год), таким как:
data= data.frame(Site_ID=c(1, 1, 1, 2, 2, 2, 3, 3, 3), Chem_ID=c(A, B, B, A, C, C, A, A, B), Year=c(2001, 2001, 2003, 2001, 2003, 2004, 2002, 2003, 2004), AnnualMean=c(1.1, 1.2, 1.1, 2.1, 2.6, 3.1, 2.7, 2.6, 1.9))
Я бы хотел фильтровать только записи с сайтов мониторинга, которые показывают измерения для химических соединений A и B в общий год. Мои Chem_ID являются факторами. Результатом этого фильтра на вышеупомянутом элементе data.frame будет:
data= data.frame(Site_ID=c(1, 1), Chem_ID=c(1, 2), Year=c(2001, 2001), AnnualMean=c(1.1, 1.2))
Конечный результат - отфильтровать как можно больше пар Chem_ID = A и Chem_ID = B с одного и того же сайта и в те же годы, чтобы вычислить как много крыс ios Chem_ID = 1 / Chem_ID = 2, насколько это возможно. Большое спасибо!