我有一个数据集,它包含近6000个观察结果,看起来像这样
Id mark
134663 000
134663 000
134663 000
134665 101
134665 111
134665 101
134973 000
134973 000
134973 100
此数据集上的标记是字符串,由mark = mark1 !! mark2 !! mark3生成 我想要做的是按id分组这个数据集,而mark应该是最大的数据集 。 最后应该看起来像这样
id mark
134663 000
134665 111
134973 100
我尝试了不同的东西,但无法做到。我希望我说清楚。如果你们能解决这个问题那将是非常棒的 谢谢,
答案 0 :(得分:2)
也尝试使用proc sql:
RLMArray *persons = [Person objectsWhere:@"ANY dogs = %@", dogX];
答案 1 :(得分:1)
您可以使用PROC SUMMARY IDGROUP查找每个ID的最大MARK。
data mark;
input (id mark)(:$6. :$3.);
cards;
134663 000
134663 000
134663 000
134665 101
134665 111
134665 101
134973 000
134973 000
134973 100
;;;;
run;
proc print;
run;
proc summary data=mark nway;
class id;
output out=maxmark(drop=_:) idgroup(max(mark) out(mark)=);
run;
proc print;
run;