我的表有数千行,按 400 个类分类,还有十几列。
理想的结果将是一个基于列“z”的最大值的具有 400 行(每个类 1 行)的表,并且包含所有原始列。
这是我的数据示例,我只需要在此示例中使用 R 提取的第 2、4、7、8 行。
x y z cluster 1 712521.75 3637426.49 19.46 12 2 712520.69 3637426.47 19.66 12 * 3 712518.88 3637426.63 17.37 225 4 712518.4 3637426.48 19.42 225 * 5 712517.11 3637426.51 18.81 225 6 712515.7 3637426.58 17.8 17 7 712514.68 3637426.55 18.16 17 * 8 712513.58 3637426.55 18.23 50 * 9 712512.1 3637426.62 17.24 50 10 712513.93 3637426.88 18.08 50
我尝试了许多不同的组合,包括:
tapply(data$z, data$cluster, max) # returns only the max value and cluster columns which.max(data$z) # returns only the index of the max value in the entire table
我也通读了 plyr 包,但没有找到解决方案。