我有以下数据集:
data have;
format id1 id2 $25. value 8.;
input id1 id2 value;
datalines;
a b 10
a c 2
a d 6
b a 5
c a 3
c d 7
;
run;
我希望得到以下内容:
data want;
format id1 id2 $25. value 8.;
input id1 id2 value;
datalines;
a b 5
a d 6
c a 1
c d 7
;
run;
在实践中,我有 - 寻找前两排的无序夫妻, - 保持这对夫妇的价值更大, - 并为其分配值之间的差异。
观察的顺序是不相关的,但ID的顺序是基本的(例如,最终数据集中的观察(c a 1)不等于(c a 1),而是等于(c a -1))。 为简单起见,我使用了字母,但ID可以是任何字符串(25美元)。
非常感谢任何帮助。
非常感谢!!
答案 0 :(得分:0)
按字母顺序对id1 / id2进行排序,如果这涉及交换它们,请将 var x = e.e.offsetX;//parseInt(mouse.x);
var y = e.e.offsetY;//parseInt(mouse.y);
设置为value
。然后排序value*-1
。然后根据需要对行进行求和,得到每个id1 / id2组合1。然后根据需要换回来。
by id1 id2