У меня есть такой фрейм данных:
Я хочу извлечь строки на основе Shape_Area
и number_of_clusters
.
Для ID_12: 9 number_of_clusters
равно 1. Итак, строка с ID_12==9
, имеющая наибольшее значение Shape_Area
, должна быть нарезана. Для ID_12: 73 есть 4 кластера, но 5 наблюдений. Таким образом, в результирующем фрейме данных будут 4 самых больших наблюдения на основе Shape_Area
.
Я пробовал это, но, похоже, он не работает должным образом:
Map(function(x,y)
filter(mb_with_profile_f, ID_12 == x) %>%
group_by(ID) %>%
top_n(y, wt = Shape_Area), sort(unique(mb_with_profile$ID_12)),number_of_clusters) %>%
bind_rows()