数据结构如下
data test;
input x y z@@;
cards;
5.88 173.4723 5094
5.88 173.2468 51751
5.881 173.1299 1203539
5.883 173.2951 13767
5.883 173.4073 6816
5.884 173.7063 3000
5.887 173.9003 4000
5.882 123.100 10000
5.933 173.1298 20000
run;
说明:要求先按变量X和Y排序,把任意两行变量X的差值落在0到0.003之间,同时Y差值落在范围0到0.3425之间的行输出,在满足这些条件的行中用一个新行输出,新行中Z取所有满足条件行中Z的最大值,X为最大Z值对应的值,Y为满足条件行的所有Y值的平均值。
例如
5.88 173.2468 51751
5.881 173.1299 1203539
这两行X的差值为0.001,Y的差值为0.1169,同时满足两个条件,这两行中Z的最大值是1203539.故X取值为5,881,输出新行为
X Y Z
5.881 173.18835 1203539
输出数据集结果应为:
5.881 173.13 1203539
5.887 173.8033 4000
5.882 123.100 10000
5.933 173.1298 20000
这个问题纠结很久了,请各位大侠指教!