У меня есть набор данных ниже:
# dt
Year ST CC ID M NonMissing Tot GRP_Mean
2004 55 35 60 NA 3 4 174.0000
2005 55 35 60 174 3 4 174.0000
2006 55 35 60 174 3 4 174.0000
2007 55 35 60 174 3 4 174.0000
2004 55 35 61 NA 3 4 158.3333
2005 55 35 61 174 3 4 158.3333
2006 55 35 61 127 3 4 158.3333
2007 55 35 61 174 3 4 158.3333
Я создал среднее по группам, как показано ниже:
dt[, GRP_Mean := mean(M, na.rm = T), by = .(ST, CC, ID)]
Как я могу определить, равняется ли M
GRP_Mean
. Например, вот так:
# dt
Year ST CC ID M NonMissing Tot GRP_Mean Equal
2004 55 35 60 NA 3 4 174.0000 TRUE
2005 55 35 60 174 3 4 174.0000 TRUE
2006 55 35 60 174 3 4 174.0000 TRUE
2007 55 35 60 174 3 4 174.0000 TRUE
2004 55 35 61 NA 3 4 158.3333 FALSE
2005 55 35 61 174 3 4 158.3333 FALSE
2006 55 35 61 127 3 4 158.3333 FALSE
2007 55 35 61 174 3 4 158.3333 FALSE
ID == 60
имеет одинаковое число 174
в столбце M
, поэтому они имеют одинаковые GRP_Mean
, и дают TRUE.
Однако ID == 61
не имеет точно такое же значение в столбце M
, укажите ЛОЖЬ.
Как я могу это сделать?