현재 문제가있는 그룹을 통해 작업 중이므로이 시점에서 일부 방향을 사용할 수 있습니다. 나는 각 변수가 합쳐지기 위해 다른 (그러나 같은 값의 도메인) 그룹핑 레벨에 의해 많은 변수를 요약하려고한다. 가짜 의사 코드에서는 이것이 내 문제입니다. 각각의 empYEAR
변수 (광범위한 형식의 고용 가능 변수가 20 개나됩니다)에 대해 해당 특정 연도에 사업이 위치한 카운티에서 합산하려고합니다 .각 그룹 별 수치 변수 합계
데이터는 Dun & Bradstreet/NETS에서 20 년 동안의 사업체를 대표하는 테이블의 묶음입니다.
동일한 기본 키를 사용하는 다수의 플랫 파일 인 데이터베이스에 대한 자세한 내용.
기본 키는 DUNSNUMBER
이며 여러 테이블에 있습니다.
- 고용
- 카운티
- 판매
- 신용 등급 (및 기타)
는 다음과 같이 구성 (이 표는 고용을 보여줍니다 모든 :하지만,이 자세히 테이블은 매년입니다 다른 변수들은 비슷한 구조로되어 있고, 1 년 뒤를 갖는다.)
dunsnumber|emp1990 |emp1991|emp1992|... |emp2011|
a | 12 |32 |31 |... | 35 |
b | |2 |3 |... | 5 |
c | 1 |1 | |... | |
d | 40 |86 |104 |... | 350 |
...
내가 궁극적으로 다음과 같이 구성되어 테이블 싶은 :
이county |emp1990|emp1991|emp1992|...|emp2011|sales1990|sales1991|sales1992|sales2011|...
A
B
C
...
내 주요 과제는 지금 이것이다 : 나는대로 올해 군에 의해 고용 (또는 판매)을 합 수있는 방법을 그룹화 변수로서 county가 일년에 때로는 변경되고 다른 테이블에 지정되면 위의 예제 테이블에서?
긴 데이터 형식의 R
과 같이 처리하는 것이 상당히 간단하지만 수백만 개의 레코드가 있으므로 포스트그레스에서 초기 처리를 유지하는 것이 좋습니다.
테이블 구조는 통계 패키지 (SPSS, SAS, Splus 또는 R 등) 용으로 설계된 것처럼 보입니다. 데이터베이스 사용자는 데이터 구조를 표준화하여 반복 그룹 {emp1990, emp1991, ...}을 피할 수 있습니다 (대신 키 요소가 더 있음)."정규화"또는 "첫 번째 정규 양식"을 찾으십시오. – wildplasser
나는 SAS가 R보다 6 백만 레코드를 더 잘 씹을 수 있다고 생각합니다. 당신은 그것이 출하 된 형식에서 데이터를 정상화하려고 노력해야한다고 생각합니까, 아니면 더 많은 FYI였습니까? – ako
SAS에 액세스 할 수 있다면 매우 쉽습니다. SAS의 배열은 실제로 기존 변수를 참조합니다. 그리고 : DBMS는 통계를 위해 설계된 것이 아니며, 일부 데이터를 그룹으로 모으고, 히스토그램을 만들 수 있지만 교차 해석은 실행 가능성의 한계에 관한 것입니다. 사전 계산 집계 데이터 세트의 경우 SQL은 매우 유용합니다 (SAS의 proc SQL ...). 그러나 SQL (및 데이터 모델링) 학습은 사고 방식의 패러다임 변화를 필요로합니다. 6M 레코드는 Postgres (또는 SAS)에게 큰 것이 아닙니다. R은 코어에 "working-set"이 있어야하기 때문에 R에 비해 너무 클 수 있습니다. – wildplasser