2016-12-22 6 views
3

SPSS 사용자 정의 테이블을 사용하여 데이터를 실행할 때 가중치를 사용하고 있습니다.SPSS : 숫자 반올림으로 인한 불일치 합계

따라서

가 열 또는 행의 값으로 인해 소수의 반올림 총 열 전체 또는 테이블 전체를 행까지 추가되지 않을 것으로 예상된다

샘플 나타난 결과 :

        variable 2 
         category 1  category 2  Total 
variable 1 category 1  45    52    97 
      category 2  60    56    115 
      Total   105   107    211 

거기인가 SPSS가 정확한 행, 열 또는 표 합계를 출력하도록 강제하는 방법은 무엇입니까?

예상 테이블 출력 :

        variable 2 
         category 1  category 2  Total 
variable 1 category 1  45    52    97 
      category 2  60    56    116 
      Total   105   108    213 

답변

0

명확해야 : CTABLES에 표시된 총계가 수학적으로 정확합니다. 그러나 행에 표시된 값의 합계를 합계로 표시하려면 대신 STATS TABLE CALC 확장 명령을 사용하여 반올림 된 값을 사용하여 합계를 다시 계산하면됩니다.

이렇게하는 방법입니다. 파이썬은 그것을 찾을 수 첫째, 당신은

def custom(datacells, ncells, roworcol): 
    '''Calculate sum of formatted values''' 
    total = sum(float(datacells.GetValueAt(roworcol,i)) for i in range(ncells)) 
    return(total) 

이 파일 또는 다른 곳 귀하의 통계 설치에서 파이썬 \ lib 디렉토리의 \ 사이트 패키지 디렉토리에 저장해야 다음 내용을 customcalc.py라는 파이썬 모듈을 작성해야 .

그런 다음 CTABLES 명령 후, 사용자 정의 기능은 각 행 대신 전체 정밀도 값의 형식의 값을 추가하는 구문을

STATS TABLE CALC SUBTYPE="customtable" PROCESS=PRECEDING 
/TARGET custommodule="customcalc" 
FORMULA="customcalc.custom(datacells, ncells, roworcol)" DIMENSION=COLUMNS LEVEL = -2 LOCATION="Total" 
LABEL="Rounded Count". 

를 실행합니다. "Total"이 가장 안쪽 레이블이되도록 기본 통계 이름 인 Count를 생략 한 경우 LEVEL = -2 대신에 LEVEL = -1을 사용하십시오.

2

당신은 다음 옵션 ASIS를 이용해야이 수치를 생산하는 CROSSTABS 절차를 사용하는 경우.

+0

안녕하세요 Jignesh! 나는 커스텀 테이블을 사용하고있다. – dixi

+0

이것은'CTABLES'에 문제가 있다고 생각하지 않습니다. 테스트 결과로'CROSSTAB' 결과를 비교해주십시오. –

+0

검사 당 ctables에 문제가 있으며 크로스 탭이 아닙니다. 크로스 탭에는/COUNT 개 라운드 셀이 있습니다. 결과가 크로스 탭에서 올바른 이유는 이것이 이유라고 생각합니다. 어쨌든, ctables에 그런 것이 있습니까? – dixi