어쩌면 내가 세트 다음있어 바보 같은 질문 ... :계수
id count
x 1
y 2
z 3
a 1
b 2
c 3
etc.
그리고 난이 원하는 :
여기id count group
x 1 1
y 2 1
z 3 1
a 1 2
b 2 2
c 3 2
etc.
내가 시도 할 것입니다 :
data macro_1; set vix.macro_spy; where macro=1;
count+1;
if count>3 then do;
count=1;
end;
group=0;
if count=1 then group+1;
run;
하지만 작동하지 않습니다. 한 번 '카운트 = 1'을 얻으면 '그룹'을 모두 하나씩 추가 할 수 있습니까? 감사합니다. .
좋은 답변입니다. 고마워. 머리 좀 더 설명해 주시겠습니까? –
그것은 count = 1을 true/false로 평가합니다. 이것은 SAS가 값 1/0을 취합니다. 따라서 count = 1이면 그룹 값에 1을 더하고 그렇지 않으면 0을 더합니다. var + ... 형식으로 변수를 만들 때 이전 값은 자동으로 유지됩니다. var = var + ...를 넣으면 명시 적 retain 문을 지정해야합니다. 희망이 도움이됩니다. – Longfish
@Keith +1; 나는 당신의 답을 수정하여 당신의 요점을 강조했습니다. – BellevueBob