У меня есть следующий образец:Удалить строки, в которых уровень фактора происходит только один раз в data.frame в R
Id = c(1, 1,2,2,2,1,4,3,3,3)
long = c("60.466681", "60.664116", "60.766690", "60.86879", "60.986569","60.466681", "60.664116", "60.766690", "60.86879", "60.986569" )
data = data.frame(Id, long)
Я хотел бы удалить строки, где уровень фактора Id
происходит только один раз в data.frame. Например, здесь я бы удалил строку с Id = 4 и сохранил остальные.
я использовал с data$duplicated <- duplicated(data$Id)
, а затем subset(data, data$duplicated=="FALSE"
, но это также удаление первой строки, когда каждый из факторов происходит в первый времени (т.е. первые строки с Id=1
или Id=2
)
Id long duplicated
1 1 60.466681 FALSE
2 1 60.664116 TRUE
3 2 60.766690 FALSE
4 2 60.86879 TRUE
5 2 60.986569 TRUE
6 1 60.466681 TRUE
Есть ли простой способ сделать это?
Спасибо!
Попробуйте 'gdata :: duplicated2' –