0

How does PROC STDIZE METHOD = RANGE work?

I thought that it would work like this:

Score = (Observation - Min) / ( Max - Min)

However, the range is [1,100] and there is never a 0 i.e. when you would substract the min observation from itself on the numerator.

I've tried reading the SAS documentation and running some trials in an excel workbook

PROC STDIZE
    DATA = SASHELP.BASEBALL
    METHOD = RANGE
    OUT = BASEBALL_STDIZE
;
    VAR CRHITS;
RUN;

range [0,100] expected, range [1,100] found

Tom
  • 47,574
  • 2
  • 16
  • 29
78282219
  • 159
  • 1
  • 12
  • 1
    Huh? Range of the resulting variable should be 0 to 1. In your example observation number 198 had original value of 34 and standardized value of 0. Observation 237 had original value of 4256 and standardized value of 1. – Tom Jan 29 '19 at 17:35

1 Answers1

1
Obs    _TYPE_      crhit2

 1     LOCATION       34
 2     SCALE        4222
 3     ADD             0
 4     MULT            1
 5     N             322
 6     NObsRead      322
 7     NObsUsed      322
 8     NObsMiss        0

enter image description here

data _null_
  • 8,534
  • 12
  • 14