2016-09-09 4 views
-5

Dataset SampleSAS 데이터 조직

나는 매년 같은 numsecur가있는 경우에만 관찰 원하는 위치에 내가 첨부 된 그림과 같이 설정 데이터를 가지고있다.

SAS proc SQL 함수에서 어떻게 수행합니까? 이것이 STATA에서 더 쉽게 할 수 있을까요? 그렇다면 어떤 절차를 사용할 수 있습니까?

+2

죄송합니다 - 내가 사진을 볼 수 없습니다 ... 당신은 사용할 수 없습니다 대신 코드 블록? – Zephyr

+0

예를 들어 1998 년과 1999 년을 원하십니까? – DCR

+0

예이 예에서는 1996 년 1 월 9 일, 1998 년 ID 001598의 관측을 원합니다. –

답변

0

귀하의 질문을 올바르게 이해한다고 가정 할 때, 회사가 매년 동일한 수의 암페어가있는 경우에만 동일한 회사/개인의 관찰을 유지하고자합니다.

결과는 보여
input ID YEAR EXEC SUM 
    1573 1997 50 1080 // 
    1581 1997 51 300 // 
    1598 1996 54 80 // 
    1598 1998 54 80 // 
    1598 1999 54 80 // 
    1602 1996 55 112.6 // 
    1602 1997 55 335.965 // 
    1575 1997 50 1080 // 
    1575 1998 51 1080 // 
    1595 1996 54 80 // 
    1595 1998 54 30 // 
    1595 1999 54 80 // 
    1605 1996 55 112.6 // 
    1605 1997 55 335.965 // 
end 

bysort ID SUM: gen drop=cond(_N==1, 0,_n) 
drop if drop==0 

(내 데이터 기준) : 그래서, 여기에 내가 사용하려고 할 것이 무엇 STATA입니다

 
    ID  YEAR EXEC SUM drop  

1. 1575 1997 50 1080 1 
2. 1575 1998 51 1080 2 
3. 1595 1999 54 80  1 
4. 1595 1996 54 80  2 
5. 1598 1996 54 80  1 

6. 1598 1998 54 80  2 
7. 1598 1999 54 80  3       
+0

답변 해 주셔서 감사합니다. –

+0

도와 드리겠습니다! – CYT

1

여러분은 stackoverflow에 새로운 사용자처럼 보입니다. 환영. 귀하의 질문은 아래로 점점 적어도 세 가지 이유를 위해 투표한다 :

다음은 당신이 찾고있는하지만 난 모르겠어요으로이 정말 경우에만 추측 무엇을 줄 수 있습니다 말했다되고
1) It's not really clear what you want from your description of the problem and the data 
    you're providing 

2) You haven't shown any attempts at what you've tried 

3) Providing your data as a picture is not great. It's most helpful if you're going 
    to provide data to provide it so it's easy for others to consume in their program. 
    After all, you're asking for our help make it easier for us to help you. If You 
    included something like the following we just have to copy and paste to create your 
    dataset to work with: 

    DATA test;  
    INPUT ID YEAR EXEC SUM; 
     DATALINES; 
    1573 1997 50 1080 
    1581 1997 51 300 
    1598 1996 54 80 
    1598 1998 54 80 
    1598 1999 54 80 
    1602 1996 55 112.6 
    1602 1997 55 335.965 
     ; 
    RUN; 

그건 무엇을 다시 묻습니다 :

proc sql no print; 
    create table testout as 
      select *,count(*) as cnt 
     from test 
      group by sum 
        having cnt > 1; 
quit; 

질문 : 동일한 SUM이 사용되는 모든 행 또는 다른 것을 표시 하시겠습니까?

+1

답변을 주셔서 감사합니다. 제 질문에 더 분명하게 대답 했어야합니다. 나는 네가 한 말을 실제로 원했다. 내 시도에 관해서는 지연 변수와 그 차액과 차액 변수를 작성했습니다. 그런 다음 0이 아닌 관측치를 제거했습니다. –

+0

내 대답이 효과가있는 경우 선택 표시를 클릭하고 위쪽 삼각형을 클릭하십시오. – DCR