<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />안녕하세요 여러분,
나는 20 년 동안 매일 눈 깊이 데이터를 포함하는 데이터 세트를 가지고있다. 최고 또는 최대 눈이 내린 값이 발생한 날짜를 연중 결정해야합니다. 이 작업을 수행하는 방법에 대한 제안 사항은 무엇입니까? 감사.
최대 깊이를 공유하는 많은 날짜를 얻을 수 있습니다... 이를 얻는 방법은 다음과 같습니다.
프로세스 SQL;
테이블 피크를 다음과 같이 생성합니다.
연도(날짜)를 연도, 날짜, 깊이로 선택
myData에서
계산 연도별로 그룹화
깊이 = max(깊이);
* 앞 피크를 선택하십시오.
그만두다;
PG
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />문제를 해결하는 방법은 여러 가지가 있습니다. 먼저, 'sex'를 'year', 'height'를 'snow depth'와 같은 것으로 사용하여 sashelp.class를 예로 들어 보겠습니다.
1. SQL 솔루션 :
proc SQL;
원하는대로 테이블 만들기
sashelp.class에서 a. *를 선택하십시오.
(성별 sashelp.class 그룹에서 최대, 성별, 최대 (높이) 선택) b
여기서 a.sex = b.sex 및 a.height = b.max
;
떠나다;
2. 데이터 단계;
proc sort data = sashelp.class out = tem;
섹스에 의해;
운영;
원하는 데이터 (drop = _h);
(마지막 섹스)까지;
온도 설정;
섹스에 의해;
_h = max (_h, 높이);
종료;
(마지막 섹스)까지;
온도 설정;
섹스에 의해;
height = _h이면 출력;
종료;
운영;
물론 proc summary와 같은 다른 많은 방법이 있습니다.
절차 요약 data = sashelp.class nway;
수업 성;
var 높이;
출력 출력 = 원치 않음 (drop = _
maxid (높이 (이름) 높이 (나이) 높이 (무게)) = 이름 연령 무게 max =;
운영;
문안 인사,
하이 쿠오
mpb에서 설명한 접근 방식은 원래 표에 최대 깊이를 추가하는 데 매우 좋습니다. 원래 예를 수정하여 표에서 최대 깊이와 날짜를 출력했습니다. Snow Date(날짜 유형)와 Snow Depth(숫자) 필드가 있다고 가정합니다. 연도 열에 대한 열 수식을 추가했습니다.
디티= 새로운 테이블( "강설량",
행 추가 (20 ),
새로운 칼럼( "눈 깊이",숫자,마디 없는, 체재( "최상의", 12 ),
값 설정 (
[34, 45, 53, 56, 99, 67, 12, 78, 53, 89, 77, 90, 48, 12, 73, 23, 12, 34,
6, 45] ) ),
새로운 칼럼( "스노우 데이트",숫자,마디 없는, 체재( "ddMonyyyy", 10 ),
입력 형식 ("ddMonyyyy" ),
값 설정 (
[1767225600, 1771113600, 1805155200, 1809129600, 1843084800, 1838160000,
1889049600, 1893283200, 1896220800, 1900281600, 1950566400, 1955491200,
1957651200, 1964217600, 1990396800, 1995926400, 2023488000, 2029449600,
2051481600, 2056752000] ) ),
새로운 칼럼( "눈의 해",숫자,마디 없는, 체재( "최상의", 12 ),
공식 (년도( :눈의날짜 ) ),
잠그다 (1 )
)
);
// 매년 가장 많은 강설량을 얻으세요
요약하다(년도 목록=에 의해 (:눈의 해 ),최대 깊이 목록=최대(:눈 깊이 ));
// 이제 가장 많은 눈이 내린 날짜를 얻으세요
~을 위한 (i = 1, i <= 줄(최대 깊이 목록 ), i++,
1년=년도 목록 [ i ];
하나의 깊이=최대 깊이 목록 [ i ];
// 다른 날에도 최대 눈 깊이가 같을 수 있음
1년 최대 행 수=디티<<행을 가져옵니다 (:눈의 해== 에(1년 )&
:눈 깊이==1_깊이 );
~을 위한 (k = 1, k <= 줄(1년 최대 행 수 ), k++,
m =1년 최대 행 수 [ k ];
눈 내리는 날= :눈날짜 [ m ];
print ( "최대 강설량 " || char ( one_depth ) || " on " ||
체재(눈 내리는 날, "ddMonyyyy"));
);
);