如何根据r

时间:2016-03-31 04:27:10

标签: r sorting dataframe max cluster-analysis

我有一个如下所示的数据框

       X       Y      Z          cluster
245 256882.0 4110945 426.50          20
246 256882.7 4110945 426.42          57
247 256883.9 4110945 429.30         114
248 256884.6 4110945 428.93         114
249 256885.4 4110945 429.50          98
250 256886.1 4110945 429.67          33

数据框有4列,包含x,y,z和聚集输出。 xy是坐标,z是相应的高度。我使用kmeans将整个数据点聚集到176个簇中。现在我想从每个集群中获取max z值​​。例如,从簇值1,我需要识别最大z值,并且还需要采用相应的x和y值。我怎么能这样做?

1 个答案:

答案 0 :(得分:1)

您可以使用dplyr

library(dplyr)

data %>%
  group_by(fit.cluster) %>%
  summarise(Z = max(Z)) %>%
  inner_join(data)

或:

df %>% 
  group_by(fit.cluster) %>%
  filter(Z == max(Z))