SUDAAN Resolved Bugs
The following is a selected list of bugs recently resolved in SUDAAN:
Bugs resolved in Release 10.0.1
Return to Bugs resolved in Releases <10.0.1> - <10.0.0> - <9.0.3> - <9.0.1> - <9.0.0>
Bugs resolved in Release 10.0.0
Return to Bugs resolved in Releases <10.0.1> - <10.0.0> - <9.0.3> - <9.0.1> - <9.0.0>
Bugs resolved in Release 9.0.3
Return to Bugs resolved in Releases <10.0.1> - <10.0.0> - <9.0.3> - <9.0.1> - <9.0.0>
Bugs resolved in Release 9.0.1
Return to Bugs resolved in Releases <10.0.1> - <10.0.0> - <9.0.3> - <9.0.1> - <9.0.0>
Bugs resolved in Release 9.0.0
Return to Bugs resolved in Releases <10.0.1> - <10.0.0> - <9.0.3> - <9.0.1> - <9.0.0>
Bugs resolved in Release 10.0.1
195. When column labels are missing in Box style output data table, RTF print format will produce distorted result. | |||||||||||||||||||||||||
| Description: | |||||||||||||||||||||||||
| For Box style RTF print, if the column labels in an output data table are missing, the table may become unreadable. This is true for example when SUDAAN tries to produce the TESTS group in PROC CROSSTAB. | |||||||||||||||||||||||||
| Workaround: | |||||||||||||||||||||||||
NCSH style for RTF can always be considered as an alternative. In addition, users can in some cases use a different output group to obtain the same results. For example, the STEST output group can be used instead of the old TEST output group in PROC CROSSTAB to display the same results. Example: Instead of using PRINT / STYLE=BOX… You can use PRINT / STYLE=NCHS… | |||||||||||||||||||||||||
| Status: This bug has been fixed in release 10.0.1 of SUDAAN. | |||||||||||||||||||||||||
| This note revised on: 16November09 | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
Return to Bugs resolved in Releases <10.0.1> - <10.0.0> - <9.0.3> - <9.0.1> - <9.0.0> | |||||||||||||||||||||||||
194. SUDAAN does not create the documentation variable _Cn associated with the variable _ONE_ on output datasets. | |||||||||||||||||||||||||
| Description: | |||||||||||||||||||||||||
| This is a bug in SUDAAN 10.0.0 only and there are no errors in the output data. The only problem is the failure to create the documentation variable. | |||||||||||||||||||||||||
| Workaround: | |||||||||||||||||||||||||
There is no work-around for this problem.
Example:
The following PROC DESCRIPT program creates an output dataset which contains the variable _ONE_.
proc descript data="c:\RegressionTesting\data\brfshort" filetype=sudxport nomarg noprint;
nest _ststr _psu;
weight _finalwt;
/* analyze only females */
subpopn sex=2 / name="females";
var papexam mamexam;
catlevel 1 1;
subgroup _one_ nrace;
tables _one_*nrace;
levels 1 3;
/* specify 3 levels for nrace, do not consider nrace='other' (4) */
title "Comparing Incidence of Pap Tests and Mammograms" " ";
output total percent sepercent nsum wsum / replace filename="c:\RegressionTesting\OutFiles\Events\Standalone\Event289" filetype=sudxport;
proc records data="c:\RegressionTesting\OutFiles\Events\Standalone\Event289" filetype=sudxport contents countrec;
setenv linesize=150;
The contents of the output dataset in Release 10.0.1 follows:
Variables
Name Type Output Description
Format
------------------------------------------------
PROCNUM Numeric F2.0 Procedure Number
TABLENO Numeric F2.0 Table Number
_ONE_ Numeric SUDAAN Reserved Variable One
NRACE Numeric F12. Race Code
VARIABLE Numeric F3.0 Variable
_C1 Numeric F4.0 Codes for Categorical Variable _ONE_
_C2 Numeric F4.0 Codes for Categorical Variable NRACE
TOTAL Numeric F12.2 Total
PERCENT Numeric F10.2 Percent
SEPERCENT Numeric F10.2 SE Percent
NSUM Numeric F8.0 Sample Size
WSUM Numeric F10.2 Weighted Size
In Release 10.0.0 of SUDAAN the variable _C1 is not included on the output dataset.
| |||||||||||||||||||||||||
| Status: This bug has been corrected in Release 10.0.1 of SUDAAN. | |||||||||||||||||||||||||
| This note revised on: 16November09 | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
Return to Bugs resolved in Releases <10.0.1> - <10.0.0> - <9.0.3> - <9.0.1> - <9.0.0> | |||||||||||||||||||||||||
193. There may be a fatal internal buffer overflow in PROC KAPMEIER and PROC SURVIVAL in some cases when there is a SUBPOPN statement and there are records with missing values for one or more model variables. | |||||||||||||||||||||||||
| Description: | |||||||||||||||||||||||||
| This error only occurs when the SUBPOPN statement is used. The error does not occur when the data is subset before running SUDAAN. | |||||||||||||||||||||||||
| Workaround: | |||||||||||||||||||||||||
| There is no work around for this problem. | |||||||||||||||||||||||||
| Status: This bug has been corrected in Release 10.0.1 of SUDAAN. | |||||||||||||||||||||||||
| This note revised on: 16November09 | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
Return to Bugs resolved in Releases <10.0.1> - <10.0.0> - <9.0.3> - <9.0.1> - <9.0.0> | |||||||||||||||||||||||||
192. SEROW, SECOL, SETOT and related statistics in CROSSTAB may be incorrect when DESIGN=JACKKNIFE and there are multiple tables specified in one call. For multiply imputed data (all designs) there may be problems with the denominator degrees of freedom when there are multiple tables (descriptive procedures) or marginals (modeling procedures). | |||||||||||||||||||||||||
| Description: | |||||||||||||||||||||||||
In some cases in PROC CROSSTAB for design=JACKKNIFE the values for SEROW, SECOL, SETOT and related statistics such as confidence limits may be incorrect when there are multiple tables on the TABLES statement. You should not trust results in this case, and instead should create separate jobs for each table to avoid this error. In addition when you analyze multiply imputed data (all designs) the confidence limits and other results depending on the computed denominator degrees of freedom may be incorrect if there are multiple tables (CROSSTAB, RATIO, DESCRIPT) or marginals (REGRESS, LOGISTIC, LOGLINK, MULTILOG). You should not trust results in this case, and instead should create separate jobs for each table / marginal to avoid this error. | |||||||||||||||||||||||||
| Workaround: | |||||||||||||||||||||||||
The following code may lead to incorrect results for SEROW, LOWROW and UPROW: PROC CROSSTAB DATA=Test; . . . CLASS A B TABLES A B; PRINT ROWPER SEROW LOWROW UPROW; Instead, use the following code: PROC CROSSTAB DATA=Test; . . . CLASS A; TABLES A; PRINT ROWPER SEROW LOWROW UPROW; PROC CROSSTAB DATA=Test; . . . CLASS B; TABLES B; PRINT ROWPER SEROW LOWROW UPROW; | |||||||||||||||||||||||||
| Status: This bug has been corrected in Release 10.0.1 of SUDAAN. | |||||||||||||||||||||||||
| This note revised on: 01January00 | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
Return to Bugs resolved in Releases <10.0.1> - <10.0.0> - <9.0.3> - <9.0.1> - <9.0.0> | |||||||||||||||||||||||||
191. The may be a spurious warning about an overspecified model in PROC LOGISTIC (RLOGIST) when the Hosmer Lemeshow test is specified. | |||||||||||||||||||||||||
| Description: | |||||||||||||||||||||||||
In some cases when the Hosmer Lemeshow test is specified in PROC LOGISTIC the following message may be (inappropriately) displayed: DATA WARNING : Degrees of freedom for OVERALL contrast are less than maximum number of estimable parameters This is likely due to an over-parameterized model; you may wish to rerun your job and reduce the number of parameters in your model by dropping variables or collapsing classes for categorical variables. | |||||||||||||||||||||||||
| Workaround: | |||||||||||||||||||||||||
| Rerun your job without the Hosmer Lemeshow test. If the warning persists, then you probably do have an overspecified model. If the warning disappears, then you can safely ignore the warning associated with Hosmer Lemeshow. | |||||||||||||||||||||||||
| Status: This bug has been corrected in Release 10.0.1 of SUDAAN. | |||||||||||||||||||||||||
| This note revised on: 28May09 | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
Return to Bugs resolved in Releases <10.0.1> - <10.0.0> - <9.0.3> - <9.0.1> - <9.0.0> | |||||||||||||||||||||||||
190. There may be an Invalid operation error in SAS-Callable SUDAAN in PROC WTADJUST in cases where there are betas tending to infinity in the model. There may be other floating point errors in the standalone versions of PROC WTADJUSt in this case. | |||||||||||||||||||||||||
| Description: | |||||||||||||||||||||||||
| There may be an Invalid operation error in SAS-Callable SUDAAN in PROC WTADJUST in cases where there are betas tending to infinity in the model. There may be other floating point errors in the standalone versions of PROC WTADJUSt in this case. | |||||||||||||||||||||||||
| Workaround: | |||||||||||||||||||||||||
| There is no work-around for this problem. | |||||||||||||||||||||||||
| Status: This bug has been corrected in Release 10.0.1 of SUDAAN. | |||||||||||||||||||||||||
| This note revised on: 28May09 | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
Return to Bugs resolved in Releases <10.0.1> - <10.0.0> - <9.0.3> - <9.0.1> - <9.0.0> | |||||||||||||||||||||||||
189. Missing head label for RTF NCHS format print | |||||||||||||||||||||||||
| Description: | |||||||||||||||||||||||||
| When printing RTF NCHS format tables, the head label could be missing for the variable part of the table header. This error happens when the table dimension is greater than 1. The non-data potion of the table header could be printed with the same label. | |||||||||||||||||||||||||
| Workaround: | |||||||||||||||||||||||||
| If this type of error happens, users can simply request Box style RTF print, or choose text print format. | |||||||||||||||||||||||||
| Status: This error has been corrected in Release 10.0.1 of SUDAAN. | |||||||||||||||||||||||||
| This note revised on: 28May09 | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
Return to Bugs resolved in Releases <10.0.1> - <10.0.0> - <9.0.3> - <9.0.1> - <9.0.0> | |||||||||||||||||||||||||
188. There may be a PROGRAMMER ERROR in RATIO and DESCRIPT for multiply imputed data when TABLECELL=ALL is included on a PRINT or OUTPUT statement and there is no SUBGROUP, LEVELS, CLASS or TABLE statement in the program. | |||||||||||||||||||||||||
| Description: | |||||||||||||||||||||||||
| There may be a PROGRAMMER ERROR in RATIO and DESCRIPT for multiply imputed data when TABLECELL=ALL is included on a PRINT or OUTPUT statement and there is no SUBGROUP, LEVELS, CLASS or TABLE statement in the program. | |||||||||||||||||||||||||
| Workaround: | |||||||||||||||||||||||||
There is no work-around for this bug. Example: The follow program generates a PROGARMMER ERROR: PROC DESCRIPT DATA="c:\RegressionTesting\Data\FORSUDN1" filetype=SUDXPORT DESIGN=WR MI_COUNT=5 TOTALS; NEST SDPSTRA6 SDPPSU6 / MISSUNIT; WEIGHT WTPFQX6; VAR TCPMI; /* No CLASS, SUBGROUP, LEVELS or TABLES statement */ SETENV COLWIDTH=14 DECWIDTH=2; SETENV LINESIZE=100 PAGESIZE=60; PRINT / TABLECELL=ALL STYLE=NCHS; | |||||||||||||||||||||||||
| Status: This problem has been corrected in Release 10.0.1 of SUDAAN. | |||||||||||||||||||||||||
| This note revised on: 28May09 | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
Return to Bugs resolved in Releases <10.0.1> - <10.0.0> - <9.0.3> - <9.0.1> - <9.0.0> | |||||||||||||||||||||||||
186. There may be a PROGRAMMER ERROR when PSUDATA or REPDATA is included on the PROC statement and there is also an OUTPUT statement. | |||||||||||||||||||||||||
| Description: | |||||||||||||||||||||||||
| There may be a PROGRAMMER ERROR when PSUDATA or REPDATA is included on the PROC statement and there is also an OUTPUT statement. | |||||||||||||||||||||||||
| Workaround: | |||||||||||||||||||||||||
If you merge your main data set and the PSUDATA or REPDATA dataset outside of SUDAAN there is no error. Example: Assume the variable BRRID is on both “mydat” and “brrwts”, and that replicate weights BRR1 – BRR24 are on “brrwts”. This code leads to a PROGRAMMER ERROR: PROC CROSSTAB DATA=”mydat” FILETYPE=SAS REPDATA=”brrwts” DESIGN=BRR; REPWGTS BRR1-BRR24; IDVAR BRRID; < additional program statements> OUTPUT / TABLECELL=DEFAULT FILENAME=”xtab” FILETYPE=SAS REPLACE; If you merge “mydat” and “brrwts” using BRRID as the merge variable, creating a new data set “alldat”, you avoid the PROGRAMMER ERROR: PROC CROSSTAB DATA=”alldat” FILETYPE=SAS DESIGN=BRR; REPWGTS BRR1-BRR24; | |||||||||||||||||||||||||
| Status: This bug has been corrected in Release 10.0.1 of SUDAAN. | |||||||||||||||||||||||||
| This note revised on: 28May09 | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
Return to Bugs resolved in Releases <10.0.1> - <10.0.0> - <9.0.3> - <9.0.1> - <9.0.0> | |||||||||||||||||||||||||
185. There is a PROGRAMMER ERROR in PROC CROSSTAB when the GOF group is on the OUTPUT statement and there are multiple GOFIT statements. | |||||||||||||||||||||||||
| Description: | |||||||||||||||||||||||||
| The error occurs only in PROC CROSSTAB when there are multiple GOFIT statements and the GOF group is on an OUTPUT statement. The PRINT statement works correctly. | |||||||||||||||||||||||||
| Workaround: | |||||||||||||||||||||||||
To avoid this error, create a separate CROSSTAB job for each GOFIT test you wish to run rather than combining all in a single call to CROSSTAB. Example: The following code produces the PROGRAMMER ERROR: PROC CROSSTAB DATA="C:\gofone" FILETYPE=SUDXPORT DESIGN=WR; . . . SCORES HLTHSTAT=(10 20 30); TEST CMH ACMH TCMH/all; CLASS HLTHSTAT HFB17; /* Two GOFIT statements */ GOFIT HLTHSTAT=(.30 .40 .30)/all; GOFIT HFB17=(.2 .8); TABLES HFB13*HLTHSTAT; OUTPUT / GOF=default FILETYPE=SUDXPORT FILENAME=”GOFTEST” REPLACE; The following code with two calls to CROSSTAB avoids the PROGRAMMER ERROR: PROC CROSSTAB DATA="C:\gofone" FILETYPE=SUDXPORT DESIGN=WR; . . . SCORES HLTHSTAT=(10 20 30); TEST CMH ACMH TCMH/all; CLASS HLTHSTAT HFB17; /* Just the first GOFIT statement */ GOFIT HLTHSTAT=(.30 .40 .30)/all; TABLES HFB13*HLTHSTAT; OUTPUT / GOF=default FILETYPE=SUDXPORT FILENAME=”GOFTEST1” REPLACE; PROC CROSSTAB DATA="C:\gofone" FILETYPE=SUDXPORT DESIGN=WR; . . . SCORES HLTHSTAT=(10 20 30); TEST CMH ACMH TCMH/all; CLASS HLTHSTAT HFB17; /* Just the second GOFIT statement */ GOFIT HFB17=(.2 .8); TABLES HFB13*HLTHSTAT; OUTPUT / GOF=default FILETYPE=SUDXPORT FILENAME=”GOFTEST” REPLACE; | |||||||||||||||||||||||||
| Status: This bug has been corrected in Release 10.0.1 of SUDAAN. | |||||||||||||||||||||||||
| This note revised on: 28May09 | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
Return to Bugs resolved in Releases <10.0.1> - <10.0.0> - <9.0.3> - <9.0.1> - <9.0.0> | |||||||||||||||||||||||||
184. There are errors in converting ASCII data sets to other file types in standalone SUDAAN. | |||||||||||||||||||||||||
| Description: | |||||||||||||||||||||||||
| In some cases data values may be incorrectly converted from file type ASCII to other supported file types: SUDAAN, SUDXPORT, SASXPORT, and SPSS. There are some cases where non-missing data values are converted to missing in the output data set. | |||||||||||||||||||||||||
| Workaround: | |||||||||||||||||||||||||
| There is no work around for this problem. | |||||||||||||||||||||||||
| Status: This bug has been corrected in Release 10.0.1 of SUDAAN. | |||||||||||||||||||||||||
| This note revised on: 28May09 | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
Return to Bugs resolved in Releases <10.0.1> - <10.0.0> - <9.0.3> - <9.0.1> - <9.0.0> | |||||||||||||||||||||||||
183. There is a PROGRAMMER ERROR when there is a variable on a SUDAAN or SUDXPORT dataset with codes and stubs present for at least one level of the variable, but also codes and stubs absent for at least one level of the variable. | |||||||||||||||||||||||||
| Description: | |||||||||||||||||||||||||
| For SUDAAN and SUDXPORT datasets only, if there is a categorical variable A with codes and stubs present for at least one level, but also codes and stubs absent for at least one level, SUDAAN generates a PROGRAMMER ERROR. | |||||||||||||||||||||||||
| Workaround: | |||||||||||||||||||||||||
Use PROC RECORDS to convert the data from type SUDAAN to another type. There is no PROGRAMMER ERROR in PROC RECORDS. You can use the converted data set in other procedures. Example: Suppose variable A in SUDAAN dataset TEST has 2 levels, but only has a code and stub associated level 1: Values and Labels for Variable A: Value Label -------------- 1 “Purple” The following code will produce a PROGRAMMER ERROR: PROC CROSSTAB DATA=”Test” FILETYPE=SUDAAN DESIGN=SRS; CLASS A; PRINT NSUM; The following code will create a dataset of an alternate type that will not cause the PROGRAMMER ERROR in CROSSTAB: PROC RECORDS DATA=”Test” FILETYPE=SUDAAN NOPRINT; OUTPUT / FILENAME=”NewTest” FILETYPE=SPSS REPLACE; PROC CROSSTAB DATA=”NewTest” FILETYPE=SPSS DESIGN=SRS; CLASS A; PRINT NSUM; | |||||||||||||||||||||||||
| Status: This bug has been corrected in Release 10.0.1 of SUDAAN. | |||||||||||||||||||||||||
| This note revised on: 28May09 | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
Return to Bugs resolved in Releases <10.0.1> - <10.0.0> - <9.0.3> - <9.0.1> - <9.0.0> | |||||||||||||||||||||||||
182. When a single continuous variable is specified on PREDMARG the labels for the output table are missing or incorrect. | |||||||||||||||||||||||||
| Description: | |||||||||||||||||||||||||
| On the PREDMARG (but not CONDMARG) statement in REGRESS, LOGISTIC (RLOGIST), LOGLINK, and MULTILOG (but not SURVIVAL), when there is a single continuous variable specified, the labels on the output table are lost or overwritten. The actual values of the marginals are correct. | |||||||||||||||||||||||||
| Workaround: | |||||||||||||||||||||||||
| A partial work-around for this problem is to add INTERCEPT or another variable to the PREDMARG statement. Example: In the code below the first PREDMARG statement produces a table which illustrates the problem, and the second PREDMARG statement produces a table with appropriate labels. CLASS x05 x06 x07 x08; MODEL LMEAS = X01 x02 x03 x04 x05 x06 x07 x08; PREDMARG X01/X01=( .01); PREDMARG INTERCEPT X01/X01=( .01); Output from first PREDMARG statement uses the label for the WEIGHT variable instead of X01. The l by: Variable.
Output from the second PREDMARG statement uses the correct labels: Variance Estimation Method: Taylor Series (WR) SE Method: Robust (Binder, 1983) Working Correlations: Independent Link Function: Identity Response variable LMEAS: LMEAS by: Predicted Marginal #2.
| |||||||||||||||||||||||||
| Status: This bug has been corrected in release 10.0.1 of SUDAAN. | |||||||||||||||||||||||||
| This note revised on: 18March09 | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
Return to Bugs resolved in Releases <10.0.1> - <10.0.0> - <9.0.3> - <9.0.1> - <9.0.0> | |||||||||||||||||||||||||
181. Floating point errors on PREDMARG and CONDMARG including a continuous variable with value(s) in the range -1 < value < 0. | |||||||||||||||||||||||||
| Description: | |||||||||||||||||||||||||
There are floating point errors in REGRESS, LOGISTIC (RLOGIST), LOGLINK, MULTILOG and SURVIVAL when either the PREDMARG or CONDMARG statement is used with a continuous variable with one or more values in the range -1 < value < 0. | |||||||||||||||||||||||||
| Workaround: | |||||||||||||||||||||||||
There is no work-around for this problem. Example: predmarg X01/X01=( -.01); condmarg X01/X01=( -.99); predmarg X01/X01=( -.50); will produce the error. But condmarg X01/X01=( -1.00); predmarg X01/X01=( 0.00); will not cause the error. | |||||||||||||||||||||||||
| Status: This bug has been corrected in release 10.0.1 of SUDAAN | |||||||||||||||||||||||||
| This note revised on: 01January00 | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
Return to Bugs resolved in Releases <10.0.1> - <10.0.0> - <9.0.3> - <9.0.1> - <9.0.0> |
Bugs resolved in Release 10.0.0
180. There may be a floating point divide by 0 error in PROC KAPMEIER for Taylor Series designs. | |||||||||||||||
| Description: | |||||||||||||||
| The problem occurs when all of the observations at the highest ordered time are all events. In this situation the Kaplan-Meier estimate will be 0.00 and the Taylorized deviation has a 0/0 component which causes an error. | |||||||||||||||
| Workaround: | |||||||||||||||
There are no simple workarounds. One potential workaround is to change the event status of at least one observation at the highest order time to censored. This will prevent the Kaplan-Meier estimate from becoming 0.00 and avoid the error. Example: Consider this simple ordered data set: PATIENT EXTIME COMPLETE 5 102 1 5 110 1 5 121 1 5 129 1 2 206 1 14 212 1 2 224 1 14 224 1 2 250 1 14 291 1 2 306 1 6 425 1 14 432 1 6 514 1 6 580 1 6 613 1 Running the following code will cause the error: PROC KAPMEIER DATA=temp DESIGN=WR FILETYPE=SAS; NEST _ONE_ PATIENT; WEIGHT _one_; EVENT COMPLETE; TIME EXTIME ; OUTPUT KM KMTIME /FILENAME=fulldat REPLACE ; However, if the last observation is changed to PATIENT EXTIME COMPLETE 6 613 0 then no error will occur. Note that the estimate for S(613) will not be included in the output as the event status has been changed to censored. | |||||||||||||||
| Status: This bug has been corrected in Release 10.0.0 of SUDAAN | |||||||||||||||
| This note revised on: 18March09 | |||||||||||||||
| |||||||||||||||
Return to Bugs resolved in Releases <10.0.1> - <10.0.0> - <9.0.3> - <9.0.1> - <9.0.0> | |||||||||||||||
179. In rare cases when the Taylor series variance should be exactly 0, it is missing or non-zero due to numerical round-off when subtracting very nearly equal values. | |||||||||||||||
| Description: | |||||||||||||||
| In cases where an estimate is constant within strata, its variance should be identically 0. In some cases the variance was missing or negative. | |||||||||||||||
| Workaround: | |||||||||||||||
There is no work around for this problem.
Example:
This program uses the same variable for stratum and TABLE, hence values of ROWPER are constant within strata and variances should be exactly 0. Because of numerical round-off, the variances displayed are missing values.
proc crosstab data="c:\data\brfshort" filetype=sasxport design=strwr;
nest _ststr ;
weight _one_;
class _ststr;
print nsum rowper serow lowrow uprow/style=nchs nsumfmt=f6.0;
Variance Estimation Method: Taylor Series (STRWR)
by: _STATE AND _STRATA COMBINED.
-------------------------------------------------------------------------
_STATE AND _STRATA Lower Upper
COMBINED 95% 95%
Sample Row SE Row Limit Limit
Size Percent Percent ROWPER ROWPER
-------------------------------------------------------------------------
Total 5838 100.00 0.00 . .
111 1501 25.71 . . .
131 1964 33.64 . . .
361 2373 40.65 . . .
-------------------------------------------------------------------------
| |||||||||||||||
| Status: This problem has been corrected in Release 10 | |||||||||||||||
| This note revised on: 18March09 | |||||||||||||||
| |||||||||||||||
Return to Bugs resolved in Releases <10.0.1> - <10.0.0> - <9.0.3> - <9.0.1> - <9.0.0> | |||||||||||||||
178. There is a PROGRAMMER ERROR in PROCS REGRESS, LOGLINK and MULTILOG when the PREDICTED=ALL option is specified on the OUTPUT statement. | |||||||||||||||
| Description: | |||||||||||||||
| This problem does not occur in PROC LOGISTIC (RLOGIST) and occurs in the other procedures only when PREDICTED=ALL is specified. PREDICTED=DEFAULT works correctly, as does stipulation of a keyword list. | |||||||||||||||
| Workaround: | |||||||||||||||
Use PREDICTED=DEFAULT on the OUTPUT statement or specify the individual keywords associated with the PREDICTED keyword group on the OUTPUT statement. Example: The PROGRAMMER ERROR occurs with the following program: PROC REGRESS data="c:\data\boric" filetype=sasxport R=EXCHANGE; NEST _ONE_ DAMID; WEIGHT _ONE_; REFLEVEL DOSEGRP = 1; SUBGROUP DOSEGRP; LEVELS 6; MODEL BW = DOSEGRP; OUTPUT / PREDICTED=ALL FILENAME=”out” FILETYPE=SASXPORT REPLACE; Avoid the PROGRAMMER ERROR with the following program (different OUTPUT statement): PROC REGRESS data="c:\data\boric" filetype=sasxport R=EXCHANGE; NEST _ONE_ DAMID; WEIGHT _ONE_; REFLEVEL DOSEGRP = 1; SUBGROUP DOSEGRP; LEVELS 6; MODEL BW = DOSEGRP; OUTPUT / PREDICTED=DEFAULT FILENAME=”out” FILETYPE=SASXPORT REPLACE; | |||||||||||||||
| Status: This bug has been corrected in release 10.0.0 of SUDAAN. | |||||||||||||||
| This note revised on: 18March09 | |||||||||||||||
| |||||||||||||||
Return to Bugs resolved in Releases <10.0.1> - <10.0.0> - <9.0.3> - <9.0.1> - <9.0.0> | |||||||||||||||
177. There is a programmer error in PROC CROSSTAB when there are one or more tables of 3 or more dimensions, the TEST statement has CHISQ and/or LLCHISQ but not CMH, ACMH or TCMH, and SATADJCHI and/or SATADJF is specified after the '/'. | |||||||||||||||
| Description: | |||||||||||||||
| A PROGRAMMER ERROR will occur in CROSSTAB when the following requests are made: The CHISQ and/or LLCHISQ are requested on the TEST statement, and the SATADJCHI and/or SATADJF or ALL are requested after the '/' on the TEST statement. This error will only occur when cross-classification tables that involve 3 or more variables are requested on the TABLES statement. The PROGRAMMER ERROR will not occur when one of the following keywords is also requested on the TEST statement: CMH, TCMH and/or ACMH. | |||||||||||||||
| Workaround: | |||||||||||||||
Include one or more of the following keywords on the TEST statement: CMH, ACMH or TCMH test on the TEST statement. Example: The following code will cause the PROGRAMMER ERROR described above: PROC CROSSTAB DATA=wicdat FILEYTPE=sas DEFT1 ; NEST stratum psu; WEIGHT analwgt1; CLASS racemom educ bfeed ; TABLE racemom*educ*bfeed; TEST llchisq / SATADJF; PRINT stestval sadjdf spval; The preceding code can be modified by adding the CMH keyword to the TEST statement. This will prevent the PROGRAMMER ERROR from occurring: PROC CROSSTAB DATA=wicdat FILEYTPE=sas DEFT1 ; NEST stratum psu; WEIGHT analwgt1; CLASS racemom educ bfeed ; TABLE racemom*educ*bfeed; TEST llchisq CMH / SATADJF; PRINT stestval sadjdf spval; | |||||||||||||||
| Status: This bug will be corrected in a future release of SUDAAN. | |||||||||||||||
| This note revised on: 18January08 | |||||||||||||||
| |||||||||||||||
Return to Bugs resolved in Releases <10.0.1> - <10.0.0> - <9.0.3> - <9.0.1> - <9.0.0> | |||||||||||||||
176. (SAS_Callable SUDAAN only) When a variable is the last variable on the input SAS data set SUDAAN is not appropriately applying the labels for this variable in SAS output data sets. | |||||||||||||||
| Description: | |||||||||||||||
| This problem only occurs for variables that are the last variable on the dataset. In this situation SUDAAN is not properly applying the labels to the variable when the variable is part of the output. When this variable is included in the output SUDAAN will use the actual values of this variable instead of the labels. All other variables will have the labels correctly applied. | |||||||||||||||
| Workaround: | |||||||||||||||
The workaround is to add a new variable to the end of the dataset. This can be a dummy variable.
Example:
Say there is a simple data set that has the following variables (ordered):
Variables
Name Type Output SAS Description
Format Format
----------------------------------------------------------
RACEMOM Numeric F2.0 R Race-ethnicity
SITE Numeric F12.0 Site
ANALWGT1 Numeric F12.0 Analysis
STRATUM Numeric F12.0 STRATUM
RACE2 Numeric F2.0 R RACE2
The variable RACE2 is the last variable on the data set. SUDAAN will not properly apply the labels to this variable.
The solution is to add a dummy variable to the end of the dataset. This can be done using the DATA step in SAS. For example:
data two;
set one;
varx=1;
format race2 r.;
format racemom r.;
run;
The dataset now contains the following variables:
Variables
Name Type Output SAS Description
Format Format
----------------------------------------------------------
RACEMOM Numeric F2.0 R Race-ethnicity
SITE Numeric F12.0 Site
ANALWGT1 Numeric F12.0 Analysis
STRATUM Numeric F12.0 STRATUM
RACE2 Numeric F2.0 R RACE2
VARX Numeric F12.0 VARX
The variable VARX is now the last variable on the data set. Labels will be correctly applied to RACE2 as it is no longer the last variable on the dataset.
| |||||||||||||||
| Status: This bug will be corrected in a future release of SUDAAN. | |||||||||||||||
| This note revised on: 29February08 | |||||||||||||||
| |||||||||||||||
Return to Bugs resolved in Releases <10.0.1> - <10.0.0> - <9.0.3> - <9.0.1> - <9.0.0> | |||||||||||||||
175. Bug report pending | |||||||||||||||
| Description: | |||||||||||||||
| pending | |||||||||||||||
| Workaround: | |||||||||||||||
| Status: | |||||||||||||||
| This note revised on: 18January08 | |||||||||||||||
| |||||||||||||||
Return to Bugs resolved in Releases <10.0.1> - <10.0.0> - <9.0.3> - <9.0.1> - <9.0.0> | |||||||||||||||
174. There is a bug in the calculation of p-values for the Satterthwaite's adjusted chi- square (SATADJCHI) in CROSSTAB for all of the following: CHISQ, LLCHISQ, GOF, CMH, TCMH, and ACMH when the test has more than 1 degrees of freedom. | |||||||||||||||
| Description: | |||||||||||||||
| SUDAAN uses an F-distribution CDF function, called fdist(), to calculate p-values. The actual value of the test statistic being put into fdist() is incorrect for the Satterthwaite's adjusted chi-square. The test statistic that is input into fdist() has to be divided by the adjusted degrees of freedom in order to get the correct p-value. This is only incorrect in CROSSTAB. It is not incorrect in the modeling procedures. Note that the p-value is currently correct when there is only 1 DF. | |||||||||||||||
| Workaround: | |||||||||||||||
There isn't a workaround for this test using only CROSSTAB. A potential solution is to obtain the values of the SATADJCHI and the adjusted degrees of freedom from CROSSTAB and use a different software package to calculate the p-value. It is possible to use LOGISTIC to get this test in certain situations. Example: The following example illustrates the problem and demonstrates a potential workaround. The 2-level categorical variable bfeed and the 3-level categorical variable educ are crossed in the TABLES statement and the Satterthwaite¡¯s adjusted chi is requested. PROC CROSSTAB data=ts.wicdat filetype=sas design=wr deft1; NEST stratum psu; WEIGHT analwgt1; CLASS educ bfeed ; TABLE educ*bfeed; TEST chisq llchisq / satadjchi; PRINT stestval sadjdf spval / spvalfmt=f8.5 sadjdffmt=f6.4 filename="G:\Gordon\Tech Support\SATCHI\SAT example1" filetype=RTF replace; These tests have more than 1 DF and generate the wrong p-value as is show in the output below:
| |||||||||||||||
| Status: This problem will be corrected in a future release of SUDAAN. | |||||||||||||||
| This note revised on: 18January08 | |||||||||||||||
| |||||||||||||||
Return to Bugs resolved in Releases <10.0.1> - <10.0.0> - <9.0.3> - <9.0.1> - <9.0.0> | |||||||||||||||
173. MULTILOG may hang or require very long run times for large jobs when the number of responses is greater than 2. This is especially a problem for GENLOGIT models though it can happen for CUMLOGIT models as well. | |||||||||||||||
| Description: | |||||||||||||||
| Due to an error in calculation of memory requirements SUDAAN's MULTILOG procedure may hang or require extremely long run times before halting for insufficient memory with GENLOGIT models when the number of responses is greater than 2. | |||||||||||||||
| Workaround: | |||||||||||||||
| None. | |||||||||||||||
| Status: This bug will be corrected in a future release of SUDAAN. | |||||||||||||||
| This note revised on: 18January08 | |||||||||||||||
| |||||||||||||||
Return to Bugs resolved in Releases <10.0.1> - <10.0.0> - <9.0.3> - <9.0.1> - <9.0.0> | |||||||||||||||
172. In PROC REGRESS for BRR and replicate weight jackknife designs when SUDAAN uses virtual memory to do the analysis the variance calculations are incorrect. | |||||||||||||||
| Description: | |||||||||||||||
| The problem may occur when SUDAAN is forced to use virtual memory due to the memory required to fit the requested model. Typically, this error will only occur when the data set has a large number of observations or the requested model has a large number of betas. | |||||||||||||||
| Workaround: | |||||||||||||||
Try adding the USEVMEM=0 option to the PROC REGRESS statement to force SUDAAN not to use virtual memory for the analysis. If SUDAAN is able to complete the analysis the variances will be correct. If there is insufficient memory for the analysis, then no work-around is currently available. Example: If this problem occurs, add the USEVMEM statement to the PROC line of the code. PROC REGRESS data=trend5 DESIGN=BRR USEVMEM=0; REPWGT BRRWGT1-BRRWGT24; | |||||||||||||||
| Status: This bug will be corrected in a future release of SUDAAN. | |||||||||||||||
| This note revised on: 18January08 | |||||||||||||||
| |||||||||||||||
Return to Bugs resolved in Releases <10.0.1> - <10.0.0> - <9.0.3> - <9.0.1> - <9.0.0> | |||||||||||||||
171. There may be errors in the calculation of BRR and replicate weight jackknife variances in the regression procedures in cases where not all data fits in core, but all valid records do fit in core. In this case SUDAAN may remove all replicates from the analysis, leading to floating point errors. | |||||||||||||||
| Description: | |||||||||||||||
| Note that if even one replicate is retained in the analysis, this error has not occurred and you should expect the variance calculation to be correct. | |||||||||||||||
| Workaround: | |||||||||||||||
If you have already specified a USEVMEM setting on the PROC statement, specify a smaller one. If you have not already specified the USEVMEM setting you may need to experiment with the appropriate value to obtain satisfactory results. The setting will depend on the proportion of records removed from the analysis. Example: Consider the following program. When run the results indicate that all of the replicates have been removed. PROC RLOGIST data=trend5 DESIGN=BRR; REPWGT BRRWGT1-BRRWGT24; To correct the problem, the USEVMEM statement can be added to the PROC line. Keep reducing the value of the USEVMEM argument until the problem no longer occurs. PROC RLOGIST data=trend5 DESIGN=BRR USEVMEM=300; REPWGT BRRWGT1-BRRWGT24; | |||||||||||||||
| Status: This bug will be corrected in a future release of SUDAAN. | |||||||||||||||
| This note revised on: 18January08 | |||||||||||||||
| |||||||||||||||
Return to Bugs resolved in Releases <10.0.1> - <10.0.0> - <9.0.3> - <9.0.1> - <9.0.0> | |||||||||||||||
170. There may be a floating point divide error in PROC CROSSTAB when requesting CHISQ or LLCHISQ values using the TESTS group. | |||||||||||||||
| Description: | |||||||||||||||
| In some cases when the chi-square degrees of freedom is 0 there may be a floating point divide error in PROC CROSSTAB when the results are output using the TESTS group. This error does not occur when results are output using the STESTS group. | |||||||||||||||
| Workaround: | |||||||||||||||
Use the newer STESTS output group to output the CHISQ and LLCHISQ statistics.
Example:
Suppose the following program results in the floating point divide error just described:
proc crosstab data=master2 design=wr;
nest strata_analysis;
weight _one_;
subgroup record_id censusdiv;
levels 2 10;
tables censusdiv*record_id;
test chisq llchisq;
print / tests=all style=nchs;
run;
Then simply replace the print statement above with this statement:
print / stest=all style=nchs;
| |||||||||||||||
| Status: This bug will be corrected in a future release of SUDAAN. | |||||||||||||||
| This note revised on: 18January08 | |||||||||||||||
| |||||||||||||||
Return to Bugs resolved in Releases <10.0.1> - <10.0.0> - <9.0.3> - <9.0.1> - <9.0.0> |
Bugs resolved in Release 9.0.3
169. In PROC SURVIVAL for the Cox proportional hazards model the AVERAGE option on the EFFECTS statement may produce missing values for the keywords in the TESTS output group. | ||||||||||||
| Description: | ||||||||||||
| In PROC SURVIVAL for the Cox proportional hazards model only, the AVERAGE option
on the EFFECTS statement may produce missing values for the keywords in the
TESTS output group. The default option and the REFLEVEL option on EFFECTS work
properly, and all of the options, including the AVERAGE option, work properly in the
other modeling procedures.
The AVERAGE option is typically only used when the variable specified in the EFFECTS statement is involved in an interaction. This error will not occur if the variable on the EFFECTS is not involved in an interaction. Note that in this situation the AVERAGE option would have no affect on the results. | ||||||||||||
| Workaround: | ||||||||||||
| The CONTRAST statement or the PRED_EFF or COND_EFF statements can be used to conduct a similar test. | ||||||||||||
| Status: This bug has been reported in Release 9.0.1, and has been fixed. | ||||||||||||
| This note revised on: 07November07 | ||||||||||||
| ||||||||||||
Return to Bugs resolved in Releases <10.0.1> - <10.0.0> - <9.0.3> - <9.0.1> - <9.0.0> | ||||||||||||
168. PROC CROSSTAB displays the Wald chi-square test statistic with the Wald F p-value for the CHISQ, LLCHISQ and CMH tests. | ||||||||||||
| Description: | ||||||||||||
| Workaround: | ||||||||||||
| Status: This bug has been reported in Release 9.0.1, and has been fixed. | ||||||||||||
| This note revised on: 07November07 | ||||||||||||
| ||||||||||||
Return to Bugs resolved in Releases <10.0.1> - <10.0.0> - <9.0.3> - <9.0.1> - <9.0.0> | ||||||||||||
167. There is a floating point divide by 0 error in PROC REGRESS when the number of estimable parameters is less than or equal to the number of observations in the data set. | ||||||||||||
| Description: | ||||||||||||
| In situations where the number of parameters exceeds the number of observations SUDAAN will produce a floating point divide by 0 error. In general, models of this type are unstable and should not be used for purposes of inference. | ||||||||||||
| Workaround: | ||||||||||||
| The user should not attempt to fit a model that has more parameters than observations. The number of parameters in the model should be reduced to a number below the number of observations. | ||||||||||||
| Status: This bug has been reported in Release 9.0.1, and has been fixed. | ||||||||||||
| This note revised on: 07November07 | ||||||||||||
| ||||||||||||
Return to Bugs resolved in Releases <10.0.1> - <10.0.0> - <9.0.3> - <9.0.1> - <9.0.0> | ||||||||||||
166. There is a PROGRAMMER ERROR in PROC DESCRIPT and PROC RATIO when you analyze multiply imputed data, include more than one variable on the VAR (NUMBER and DENOM) statements, and use the DDF= parameter on the PROC statement. | ||||||||||||
| Description: | ||||||||||||
| There is a PROGRAMMER ERROR in PROC DESCRIPT and PROC RATIO when you analyze multiply imputed data, include more than one variable on the VAR (NUMBER and DENOM) statements, and use the DDF= parameter on the PROC statement. There is no PROGRAMMER ERROR if you analyze multiply imputed data for one or more variables, but do not include the DDF= parameter on the PROC statement. There is also no PROGRAMMER ERROR if you analyze multiply imputed data one variable at a time and include the DDF= parameter on the PROC statement. | ||||||||||||
| Workaround: | ||||||||||||
| There are two workarounds for this problem: one is to do the analysis one variable at a time. The other one is to run the whole thing in a SAS macro, computing estimates and variances for each imputation separately, saving the results and then using a DATA step to obtain the imputed estimates and variances. | ||||||||||||
| Status: This bug has been reported in Release 9.0.1, and has been fixed. | ||||||||||||
| This note revised on: 07November07 | ||||||||||||
| ||||||||||||
Return to Bugs resolved in Releases <10.0.1> - <10.0.0> - <9.0.3> - <9.0.1> - <9.0.0> | ||||||||||||
165. In PROC DESCRIPT and PROC RATIO labels for contrasts produced by the PAIRWISE statement may not be labeled correctly for some CLASS variables. | ||||||||||||
| Description: | ||||||||||||
| Labels for contrasts produced by the PAIRWISE statement in DESCRIPT and RATIO are generated using the sequence numbers associated with the levels of the PAIRWISE variable rather than the values associated with the levels. This can produce incorrect and misleading labels in some cases. The estimates themselves are correct. | ||||||||||||
| Workaround: | ||||||||||||
You can create the same contrasts using a series of either CONTRAST or DIFFVAR statements. Use the /NAME option following the statement to apply appropriate labels to the contrasts. Example:
proc format;
value aval
2 = 'value2'
3 = 'value3'
4 = 'value4'
;
run;
data dat;
do a = 2 to 4;
do b = 1 to 100;
c = a + a*b;
output;
end;
end;
format a aval.;
run;
proc descript data=dat design=wr nomarg;
nest _one_;
weight _one_;
var c;
class a;
pairwise a;
print mean, semean/style=nchs;
run;
proc descript data=dat design=wr nomarg;
nest _one_;
weight _one_;
var c;
class a;
diffvar a=(2 3) / NAME='value 2 vs value 3';
diffvar a=(2 4) / NAME='value 2 vs value 4';
diffvar a=(3 4) / NAME='value 3 vs value 4';
print mean, semean/style=nchs;
run;
Incorrectly labeled results from the first DESCRIPT call using PAIRWISE:
Variance Estimation Method: Taylor Series (WR)
by: Variable, One, Contrast.
for: Variable = C.
----------------------------------------------
One Cntrst SE Cntrst
Contrast Mean Mean
----------------------------------------------
1
CONTRAST_1:
(1,value2) -51.50 10.43
CONTRAST_1:
(1,value3) -103.00 12.93
CONTRAST_1:
(value2,value3) -51.50 14.46
----------------------------------------------
Appropriately labeled results from the second DESCRIPT call using DIFFVAR:
Variance Estimation Method: Taylor Series (WR)
by: Variable, One, CONTRAST.
for: Variable = C.
----------------------------------------------
One Cntrst SE Cntrst
CONTRAST Mean Mean
----------------------------------------------
1
value 2 vs value
3 -51.50 10.43
value 2 vs value
4 -103.00 12.93
value 3 vs value
4 -51.50 14.46
----------------------------------------------
| ||||||||||||
| Status: This bug has been reported in Release 9.0.1, and has been fixed. | ||||||||||||
| This note revised on: 07November07 | ||||||||||||
| ||||||||||||
Return to Bugs resolved in Releases <10.0.1> - <10.0.0> - <9.0.3> - <9.0.1> - <9.0.0> | ||||||||||||
164. PROC LOGISTIC may have convergence problems when probabilities of response equaling 1 are extremely close to 0. | ||||||||||||
| Description: | ||||||||||||
| If the probability of the response variable equaling 1 is very close to 0.00 at given levels of the covariates (i.e. P(Y=1|X=x) is close to zero) PROC LOGISITC (RLOGIST) may have convergence problems because of the way the log-likelihood function is calculated. In these cases LOGISTIC will print appropriate warning messages that the model may be overspecified, and that one or more parameters may be approaching infinity. In addition, it is possible that the estimates for these parameters may be incorrect. Note that this bug will not surface in a run of PROC LOGISTIC (RLOGIST) if no error message appears in SUDAAN. | ||||||||||||
| Workaround: | ||||||||||||
Any LOGISTIC model may also be run using SUDAAN's MULTILOG procedure. The only difference in output is that the signs on all parameter estimates are reversed in MULTILOG. The only change required to run the model in MULTILOG is to place the dependent variable on the CLASS statement. The defect described above is not present in MULTILOG. Example: Independent Variables and Beta Effects Coeff. SE Beta ------------------------------------------------ Intercept -2.80 0.03 A 0 0.00 0.00 1 1.05 0.07 2 69331.92 1984.23 3 799.09 4281.51 ------------------------------------------------ The results for the same model in MULTILOG follow:
Independent
Variables and Beta
Effects Coeff. SE Beta
--------------------------------------------------
0 vs 1
Intercept 2.802989 0.027877
A
0 0.000000 0.000000
1 -1.046960 0.067144
2 -3.620946 0.085806
3 -2.891921 0.133746
--------------------------------------------------
This LOGISTIC procedure is equivalent to the following MULTILOG procedure: PROC LOGISTIC DATA=mydat FILETYPE=SUDAAN; NEST STRATUM PSU; WEIGHT WGT; CLASS A; REFLEVEL A=0; MODEL Y = A; PROC MULTILOG DATA=mydat FILETYPE=SUDAAN; NEST STRATUM PSU; WEIGHT WGT; CLASS Y A; REFLEVEL A=0; MODEL Y = A; | ||||||||||||
| Status: This bug has been reported in Release 9.0.1, and has been fixed. | ||||||||||||
| This note revised on: 07November07 | ||||||||||||
| ||||||||||||
Return to Bugs resolved in Releases <10.0.1> - <10.0.0> - <9.0.3> - <9.0.1> - <9.0.0> | ||||||||||||
163. No warning message in RATIO and DESCRIPT when there are 0 frequencies in one or more cells of a table crossed with standardizing variables. | ||||||||||||
| Description: | ||||||||||||
| In PROC RATIO and PROC DESCRIPT when there are zero observations in a cell during standardization, SUDAAN does not print a warning, even though the User's manual indicates that a warning will be printed in this case. | ||||||||||||
| Workaround: | ||||||||||||
There is no direct work-around for this problem, however you can use PROC CROSSTAB to obtain the cell counts for the tables created by crossing the DESCRIPT or RATIO TABLES with the standardization variables. You can then check for 0-cells before using the DESCRIPT and RATIO procedures. Example: PROC DESCRIPT DATA=mydat DESIGN=WR; NEST STRATUM PSU; WEIGHT WT; VAR X; CLASS A B C; TABLES A*B; STDVAR C; STDWGT .2 .3 .4 .1; By running the following CROSSTAB program prior to the job above, you can check for 0 cell frequencies: PROC CROSSTAB DATA=mydat DESIGN=WR; NEST STRATUM PSU; WEIGHT WT; VAR X; CLASS A B C; TABLES A*B*C; PRINT NSUM; | ||||||||||||
| Status: This bug has been reported in Release 9.0.1, and has been fixed. | ||||||||||||
| This note revised on: 07November07 | ||||||||||||
| ||||||||||||
Return to Bugs resolved in Releases <10.0.1> - <10.0.0> - <9.0.3> - <9.0.1> - <9.0.0> | ||||||||||||
162. PROC RECORDS prints the number of records as 0 when the NOPRINT option is set and the variable _ONE_ is on the data set. | ||||||||||||
| Description: | ||||||||||||
| In PROC RECORDS when you specify COUNTREC and NOPRINT, and the variable _ONE_ is on the input data set, the displayed record count is 0. | ||||||||||||
| Workaround: | ||||||||||||
Rename the variable _ONE_ to something else, or remove the NOPRINT option, and specify a PRINT statement. To minimize output you can specify printing of only one variable on only one record. Example: PROC RECORDS DATA=MYDAT COUNTREC NOPRINT; The following program will correctly display the record count even if _ONE_ is present on the data set. PROC RECORDS DATA=MYDAT COUNTREC; PRINT X/MAXREC=1; | ||||||||||||
| Status: This bug has been reported in Release 9.0.1, and has been fixed. | ||||||||||||
| This note revised on: 07November07 | ||||||||||||
| ||||||||||||
Return to Bugs resolved in Releases <10.0.1> - <10.0.0> - <9.0.3> - <9.0.1> - <9.0.0> | ||||||||||||
161. Type 4 design effects in CROSSTAB use a denominator of n rather than n-1 | ||||||||||||
| Description: | ||||||||||||
| CROSSTAB is using a denominator of n rather than n-1 in calculation of the SRS variance-covariance matrix needed in calculation of type 4 design effects for row, column and total percents. The correct formula p(1-p)/(n-1) is presented in the User's Manual. | ||||||||||||
| Workaround: | ||||||||||||
There is no work-around within SUDAAN for this problem. However, you can correct this error outside SUDAAN by multiplying the displayed design effect within each cell by (n-1/n) where n is the cell frequency. Example: | ||||||||||||
| Status: This bug has been reported in Release 9.0.1, and has been fixed. | ||||||||||||
| This note revised on: 07November07 | ||||||||||||
| ||||||||||||
Return to Bugs resolved in Releases <10.0.1> - <10.0.0> - <9.0.3> - <9.0.1> - <9.0.0> | ||||||||||||
160. PROC CROSSTAB may run out of memory when calculating type 4 design effects, even if the job would otherwise run. | ||||||||||||
| Description: | ||||||||||||
| PROC CROSSTAB is calculating the full SRS variance-covariance matrix for the row, column and total percents when the type 4 design effects for these statistics are specified. In most cases this does not matter, but for very large tables, the full variance-covariance matrix may not fit in the amount of memory available. The amount of memory needed to store the full variance-covariance matrix corresponds to half the square of the number of table cells. If sufficient memory is not available, the job will not run. Only the SRS variances are actually required for calculation of the design effects, and the space requirements are significantly less in this case. | ||||||||||||
| Workaround: | ||||||||||||
This problem only occurs if you specify printing or output of type 4 design effects for row, column or total percents (keywords DEFFROW, DEFFCOL and DEFFTOT with the option DEFT4 explicitly set, or with no DEFT option set). There is no problem with design effects DEFT1, DEFT2 and DEFT3, so a partial work-around is to specify a different design effect on the PROC CROSSTB statement. Another workaround would be to decrease the number of cells produced from the TABLES statement in CROSSTAB by splitting the current run of the procedure into 2 or more calls to the PROC. Example: PROC CROSSTAB DATA=mydat FILETYPE=SUDAAN DESIGN=WR; NEST STRATUM PSU; WEIGHT WT; SUBGROUP A; LEVELS 800; PRINT / TABLECELL=ALL; Even though the DEFT keywords are not specified explicitly, they are implicitly requested by the use of TABLECELL=ALL. Since there is no DEFTn parameter on the PROC statement, DEFT4 is assumed by default. You can avoid the out-of-memory problem either by specifying a different design effect, or by eliminating the request for the design effect keywords by using TABLECELL=DEFAULT. The following program should run without memory errors. PROC CROSSTAB DATA=mydat FILETYPE=SUDAAN DESIGN=WR DEFT1; NEST STRATUM PSU; WEIGHT WT; SUBGROUP A; LEVELS 800; PRINT / TABLECELL=ALL; An alternate workaround to the problem above would be to define two variables (for example), A1 and A2. A1 could be set to 1,...,400 corresponding to A=1,...,400 and A2 could be set 1,...,400 corresponding to A=401,...,800. To get the desired design effects, two calls to PROC CROSSTAB could be used as follows: PROC CROSSTAB DATA=mydat FILETYPE=SUDAAN DESIGN=WR; NEST STRATUM PSU; WEIGHT WT; SUBGROUP A1; LEVELS 400; PRINT / TABLECELL=ALL; PROC CROSSTAB DATA=mydat FILETYPE=SUDAAN DESIGN=WR; NEST STRATUM PSU; WEIGHT WT; SUBGROUP A2; LEVELS 400; PRINT / TABLECELL=ALL; | ||||||||||||
| Status: This bug has been reported in Release 9.0.1, and has been fixed. | ||||||||||||
| This note revised on: 07November07 | ||||||||||||
| ||||||||||||
Return to Bugs resolved in Releases <10.0.1> - <10.0.0> - <9.0.3> - <9.0.1> - <9.0.0> | ||||||||||||
158. SUDAAN gives a bogus error message in PROC DESCRIPT and PROC RATIO when there is a TABLES statement with the variable _ONE_ on it, _ONE_ is not on either the SUBGROUP or CLASS statement, and there is no contrast statement in the program. | ||||||||||||
| Description: | ||||||||||||
SUDAAN displays the following error message in PROC DESCRIPT and in PROC RATIO when there is a TABLES statement with the variable _ONE_ on it, _ONE_ is not on the SUBGROUP or the CLASS statement, and there is no CONTRAST, DIFFVAR, PAIRWISE or POLY statement in the program. SEMANTIC ERROR : (Message 594) No variables on the CONTRAST, DIFFVAR, PAIRWISE or POLYNOMIAL statement should also be on the TABLES statement | ||||||||||||
| Workaround: | ||||||||||||
If you wish to use _ONE_ on the TABLES statement in RATIO or DESCRIPT, always include it on the SUBGROUP or CLASS statement. Example: PROC DESCRIPT DATA=mydat DESIGN=SRS; CLASS A B; TABLES _ONE_ A B; VAR X; PRINT / STYLE=NCHS; Adding the variable _ONE_ to the CLASS statement or to a SUBGROUP statement avoids this problem: PROC DESCRIPT DATA=mydat DESIGN=SRS; CLASS A B _ONE_; TABLES _ONE_ A B; VAR X; PRINT / STYLE=NCHS; | ||||||||||||
| Status: This bug has been reported in Release 9.0.1, and has been fixed. | ||||||||||||
| This note revised on: 07November07 | ||||||||||||
| ||||||||||||
Return to Bugs resolved in Releases <10.0.1> - <10.0.0> - <9.0.3> - <9.0.1> - <9.0.0> | ||||||||||||
157. SUDAAN hangs when a variable with one or more long (>85 characters) labels is included on the CLASS statement, without the NOFREQ option. | ||||||||||||
| Description: | ||||||||||||
| This problem could occur in any SUDAAN procedure which uses the CLASS statement, if the NOFREQ option is absent, and one or more CLASS variables have one or more very long labels. | ||||||||||||
| Workaround: | ||||||||||||
| Use the NOFREQ option on the CLASS statement if the labels of a CLASS variable are longer than about 85 characters. | ||||||||||||
| Status: This bug has been reported in Release 9.0.1, and has been fixed. | ||||||||||||
| This note revised on: 07November07 | ||||||||||||
| ||||||||||||
Return to Bugs resolved in Releases <10.0.1> - <10.0.0> - <9.0.3> - <9.0.1> - <9.0.0> | ||||||||||||
156. The MAXOBS and MAXREC parameters in PROC RECORDS do not always work as intended. | ||||||||||||
| Description: | ||||||||||||
| The MAXOBS option on the PROC RECORDS statement currently does not have any effect when there is an OUTPUT statement. When it is present, only the first MAXOBS records should be written to the output data set. The MAXREC option on the PRINT statement in PROC RECORDS should not affect the value of MAXOBS. Any sort or OUTPUT should be on the entire data set. Currently, the MAXREC option is limiting the SORT to the records encompassed by the STARTREC and MAXREC settings. | ||||||||||||
| Workaround: | ||||||||||||
For the first problem, use the SUBPOPN statement to create an output data set with only the first MAXOBS records in it. The following statement will suffice: SUBPOPN _OBSNO_ <= maxobs_value; For the second problem, do not use the MAXREC option when using the SORTBY statement unless there is also an OUTPUT statement, or another PRINT with MAXREC+STARTREC greater than or equal to the number of records in the data. Example: The following program will not work correctly, and will output all of the observations on the input data set: PROC RECORDS DATA=mydat FILETYPE=SUDAAN MAXOBS=50; OUTPUT / FILENAME=mydat50 FILETYPE=SPSS REPLACE; The next program will correctly output only the first 50 records: PROC RECORDS DATA=mydat FILETYPE=SUDAAN MAXOBS=50; /* SUBPOPN statement limits the output to the first 50 records */ SUBPOPN _OBSNO_ <= 50; OUTPUT / FILENAME=mydat50 FILETYPE=SPSS REPLACE; Suppose mydat contains 300 records. The following program will not work correctly, and will sort only the first 40 records in the data: PROC RECORDS DATA=mydat FILETYPE=SUDAAN; SORTBY X Y; PRINT / MAXREC=40; The next program will correctly sort the entire data set, and print the first 40 records of sorted data. PROC RECORDS DATA=mydat FILETYPE=SUDAAN; SORTBY X Y; PRINT / MAXREC=40; /* Extra PRINT to force SUDAAN to sort all of the data */ PRINT / STARTREC=300 MAXREC=1; | ||||||||||||
| Status: This bug has been reported in Release 9.0.1, and has been fixed. | ||||||||||||
| This note revised on: 07November07 | ||||||||||||
| ||||||||||||
Return to Bugs resolved in Releases <10.0.1> - <10.0.0> - <9.0.3> - <9.0.1> - <9.0.0> | ||||||||||||
155. Variable not found error on RFORMAT (FORMAT) statement leads to a PROGRAMMER ERROR. | ||||||||||||
| Description: | ||||||||||||
| When you use a variable name not associated with a variable on the input data set on the RFORMAT (FORMAT) statement, for example when the variable name is misspelled, SUDAAN generates a PROGRAMMER ERROR message after generating an appropriate error message. | ||||||||||||
| Workaround: | ||||||||||||
| Check the spelling of all variable names on the RFORMAT (FORMAT) statement if you see a PROGRAMMER ERROR immediately following the message 'File Error in Statement <"number">. Variable <"name"> not found' when the statement number is an FORMAT (FORMAT) statement.
Example: RFORMAT XYZ YN.; The SUDAAN output looks like this: 9 RFORMAT XYZ FILE ERROR in Statement 9 : (Message 105) Variable XYZ not found PROGRAMMER ERROR in Object 88 : NOTICE: You may have found a bug in the SUDAAN software. Please contact Research Triangle Institute with complete information about this job so that we can attempt to locate and correct the problem. (Message 505) Offset out of range. Offset is -1 object type is OARRAY (12) Expected type is 12 FATAL ERROR in SUDAAN | ||||||||||||
| Status: This bug has been reported in Release 9.0.1, and has been fixed. | ||||||||||||
| This note revised on: 07November07 | ||||||||||||
| ||||||||||||
Return to Bugs resolved in Releases <10.0.1> - <10.0.0> - <9.0.3> - <9.0.1> - <9.0.0> | ||||||||||||
154. There may be an access violation in SAS-callable SUDAAN when the length of one or more input statements is larger than 8000 characters. | ||||||||||||
| Description: | ||||||||||||
| You may see an access violation in SAS-callable SUDAAN if one or more input statements is extremely long - more than about 8000 characters. | ||||||||||||
| Workaround: | ||||||||||||
In some cases a shorter version of the lengthy statement may be possible. For example use of the '-' and '--' notations to specify variable lists, and use of the '*' notation to specify repeated values may be helpful. These notations are discussed fully in the SUDAAN language manual in Section 2.6.7, Guidelines for Number Lists, Variable Names, Multi-way Tables, and Models. Example: CLASS age_gp - income_gp; If you wish to specify a long list of LEVELS parallel to a SUBGROUPS statement, use the '*' notation to shorten the list whenever there are consecutive duplicate values: LEVELS 8*2 3 5 9*2; | ||||||||||||
| Status: This bug has been reported in Release 9.0.1, and has been fixed. | ||||||||||||
| This note revised on: 07November07 | ||||||||||||
| ||||||||||||
Return to Bugs resolved in Releases <10.0.1> - <10.0.0> - <9.0.3> - <9.0.1> - <9.0.0> | ||||||||||||
153. When analyzing multiply imputed data in the modeling procedures you may see the error message ¡°Actual number of records exceeds MAXOBS parameter¡± when not all data sets contain the same number of records. | ||||||||||||
| Description: | ||||||||||||
| When you analyze multiply imputed data, and not all of the imputed data sets contain the same number of records, then in some cases in the procedures REGRESS, LOGISTIC (RLOGIST), LOGLINK and MULTILOG the space allocated to hold the data in core may not be large enough for all of the data sets. This problem causes SUDAAN to display the error message 'Actual number of records exceeds MAXOBS parameter' and halt. | ||||||||||||
| Workaround: | ||||||||||||
If you use the EST_NO parameter on the PROC statement and specify a record count as least as great as the number of records on each of the multiply imputed data sets, then there is no problem Example: TEST1 2467 records TEST2 2480 records TEST3 2450 records TEST4 2495 records TEST5 2477 records Use of the EST_NO parameter on the PROC RLOGIST statement in the example program below avoids the problem described here. PROC RLOGIST DATA=in.test1 FILETYPE=SAS DESIGN=WR MI_COUNT=5 EST_NO=2500; NEST STRATUM PSU; WEIGHT WGT; MODEL EMPLOYED = AGE SEX RACE EDUC; | ||||||||||||
| Status: This bug has been reported in Release 9.0.1, and has been fixed. | ||||||||||||
| This note revised on: 07November07 | ||||||||||||
| ||||||||||||
Return to Bugs resolved in Releases <10.0.1> - <10.0.0> - <9.0.3> - <9.0.1> - <9.0.0> | ||||||||||||
152. The values of CLASS variables are not limited by the SUBPOPN statement. This may cause some programs to crash. | ||||||||||||
| Description: | ||||||||||||
| The SUBPOPN statement and the CLASS statement are independent of each other, and this can lead to confusing and unexpected results. In SUDAAN releases through 9.0.2, values of a CLASS variable which are present in the overall data set, but not present in the subpopulation defined by a SUBPOPN statement are still included as levels of the CLASS variable in all procedures. This may cause SUDAAN to crash in some cases. | ||||||||||||
| Workaround: | ||||||||||||
The only work around at present is to recode the existing variable or create a new one outside of SUDAAN. This variable should have the same values as the original variable on all records in the subpopulation, and should have a missing value on all records not in the subpopulation. If you then specify this variable on a CLASS statement with the option INCLUDE=NONMISSING, the analysis will be done correctly. Example: SEMANTIC ERROR: The RISK statement is not available unless the last two dimensions of each TABLE request are 2x2. PROC CROSSTAB DATA=TEST DESIGN=WR FILETYPE=SUDAAN; NEST STRATUM PSU; WEIGHT WGT; CLASS A; SUBGROUP B; LEVELS 2; SUBPOPN X>0; TABLES A*B; RISK OR; PRINT / STRRISK=DEFAULT; | ||||||||||||
| Status: This bug has been reported in Release 9.0.1, and has been fixed. | ||||||||||||
| This note revised on: 07November07 | ||||||||||||
| ||||||||||||
Return to Bugs resolved in Releases <10.0.1> - <10.0.0> - <9.0.3> - <9.0.1> - <9.0.0> | ||||||||||||
151. In PROC CROSSTAB the Output labels in the STRRISK group should be the levels of the appropriate CLASS variable. | ||||||||||||
| Description: | ||||||||||||
| In PROC CROSSTAB when you direct the output for the STRRISK group to a file, the labels for the table should be the labels for the levels of the SUBGROUP or CLASS variables used to stratify the estimates. Instead, for CLASS variables the labels are 1, 2, 3.... PRINT displays the labels correctly. | ||||||||||||
| Workaround: | ||||||||||||
There is no work-around for this problem. Example: PROC CROSSTAB DATA=Test FILETYPE=SUDAAN DESIGN=WR; NEST STRATUM PSU; WEIGHT WGT; CLASS EXPOSURE BABYSEX BFEED; TABLES EXPOSURE * BABYSEX * BFEED; RISK /all; OUTPUT / STRRISK=DEFAULT FILENAME=SRISK FILETYPE=SUDAAN REPLACE; | ||||||||||||
| Status: This bug has been reported in Release 9.0.1, and has been fixed. | ||||||||||||
| This note revised on: 07November07 | ||||||||||||
| ||||||||||||
Return to Bugs resolved in Releases <10.0.1> - <10.0.0> - <9.0.3> - <9.0.1> - <9.0.0> | ||||||||||||
150. Estimates and variances for contrasts generated by DIFFVAR in RATIO and DESCRIPT may be incorrect. | ||||||||||||
| Description: | ||||||||||||
| When a cross of contrasts is specified on the DIFFVAR statement in RATIO or DESCRIPT the estimate and variance is incorrect. | ||||||||||||
| Workaround: | ||||||||||||
The same contrast can be specified using the CONTRAST statement. This statement does produce the correct estimates and variances. Example: SUBGROUP A B; LEVELS 2 4; CONTRAST A=(1 -1) * B=(1 -1 0 0); DIFFVAR A=(1 2) * B=(1 2); | ||||||||||||
| Status: This bug has been reported in Release 9.0.1, and has been fixed. | ||||||||||||
| This note revised on: 07November07 | ||||||||||||
| ||||||||||||
Return to Bugs resolved in Releases <10.0.1> - <10.0.0> - <9.0.3> - <9.0.1> - <9.0.0> | ||||||||||||
149. There is an access violation when SUDAAN tries to report a range error on the REFLEVEL statement. | ||||||||||||
| Description: | ||||||||||||
| In SUDAAN programs using the modeling procedures, REGRESS, LOGISTIC(RLOGIST), LOGLINK, MULTILOG, and SURVIVAL, if the user specifies an illegal value on the REFLEVEL statement there may be a PROGRAMMER ERROR or access violation when SUDAAN attempts to report the error. This means that the real reason for the problem is not apparent. Note that for SUBGROUP variables the only valid values for this variable on the REFLEVEL statement are 1, 2, ... N where N is the number of levels of the SUBGROUP variable. For a CLASS variable the valid values for this variable on the REFLEVEL statement are the values of the variable which are present on the data set. | ||||||||||||
| Workaround: | ||||||||||||
Carefully check any REFLEVEL statements to ensure that all levels specified are valid. Example: PROC REGRESS DATA=test DESIGN=WR FILETYPE=SAS; NEST STRATUM PSU; WEIGHT WGT; SUBGROUP RACE SEX; LEVELS 4 2; REFLEVEL SEX=0; MODEL Y = RACE SEX; | ||||||||||||
| Status: This bug has been reported in Release 9.0.1, and has been fixed. | ||||||||||||
| This note revised on: 07November07 | ||||||||||||
| ||||||||||||
Return to Bugs resolved in Releases <10.0.1> - <10.0.0> - <9.0.3> - <9.0.1> - <9.0.0> | ||||||||||||
148. A PROGRAMMER ERROR occurs in all computational procedures when there are two or more CLASS statements in a single call to the procedure, one of the CLASS statements has the NOFREQS option, and another CLASS statement does not have this option. | ||||||||||||
| Description: | ||||||||||||
| There is a PROGRAMMER ERROR in all procedures except RECORDS when the same call to the procedure contains two or more CLASS statements where some have the NOFREQS option and some do not have this option. There is no error if there is no CLASS statement, only one CLASS statement, or if all CLASS statements have the same setting for NOFREQS. | ||||||||||||
| Workaround: | ||||||||||||
When using multiple CLASS statements in the same procedure call, make sure all include the NOFREQS option, or that none include the NOFREQS option. Example: CLASS RACE EDUC / NOFREQS INCLUDE=MISSING; CLASS SEX; The following code avoids a PROGRAMMER ERROR in SUDAAN because neither CLASS statement has the NOFREQS option: CLASS RACE EDUC / INCLUDE=MISSING; CLASS SEX; The following code avoids a PROGRAMMER ERROR in SUDAAN because both CLASS statements have the NOFREQS option: CLASS RACE EDUC / NOFREQS INCLUDE=MISSING; CLASS SEX/NOFREQS; | ||||||||||||
| Status: This bug has been reported in Release 9.0.1, and has been fixed. | ||||||||||||
| This note revised on: 07November07 | ||||||||||||
| ||||||||||||
Return to Bugs resolved in Releases <10.0.1> - <10.0.0> - <9.0.3> - <9.0.1> - <9.0.0> | ||||||||||||
147. PROGRAMMER ERROR or Access Violation when SUBPOPN statement is very long and no NAME="label" option is specified. | ||||||||||||
| Description: | ||||||||||||
| You may see a PROGRAMMER ERROR or access violation when using a very long (greater than 225 characters) SUBPOPN expression with no NAME="label" option specified on the SUBPOPN statement. When no NAME="label" option is used, SUDAAN uses the expression itself as the label, and this may be too long for some string buffers. This bug is present in all of the SUDAAN procedures in Releases 9.0.x. | ||||||||||||
| Workaround: | ||||||||||||
Supply a short label using the NAME=option on the SUBPOPN statement to avoid this problem. Example:
SUBPOPN rfv13dn = 1455 and age < 18 and (spec3=1 or spec3=2 or spec3=3)
and othbactinfx = 2 and ((settype = 1 and (yr = 3 or yr = 4 or
yr = 5 or yr = 6 or yr = 7 or yr = 8)) or (settype = 2 and (yr = 3 or yr = 4
or yr = 5 or yr = 6 or yr = 7 or yr = 8)) or (settype = 3 and (yr = 7 or
yr = 8)));
Adding a NAME="label" option avoids the problem:
SUBPOPN rfv13dn = 1455 and age < 18 and (spec3=1 or spec3=2 or spec3=3)
and othbactinfx = 2 and ((settype = 1 and (yr = 3 or yr = 4 or
yr = 5 or yr = 6 or yr = 7 or yr = 8)) or (settype = 2 and
(yr = 3 or yr = 4 or yr = 5 or yr = 6 or yr = 7 or yr = 8)) or
(settype = 3 and (yr = 7 or yr = 8))) / NAME="Valid Responses to Question4";
| ||||||||||||
| Status: This bug has been reported in Release 9.0.1, and has been fixed. | ||||||||||||
| This note revised on: 07November07 | ||||||||||||
| ||||||||||||
Return to Bugs resolved in Releases <10.0.1> - <10.0.0> - <9.0.3> - <9.0.1> - <9.0.0> | ||||||||||||
146. The TITLE and FOOTNOTE statements do not work in PROC RECORDS. | ||||||||||||
| Description: | ||||||||||||
| In PROC RECORDS only, the TITLE and FOOTNOTE statements in standalone SUDAAN and the RTITLE and RFOOTNOTE statements in SAS-Callable SUDAAN have no effect. | ||||||||||||
| Workaround: | ||||||||||||
| There is no work-around for this problem | ||||||||||||
| Status: This bug has been reported in Release 9.0.1, and has been fixed. | ||||||||||||
| This note revised on: 07November07 | ||||||||||||
| ||||||||||||
Return to Bugs resolved in Releases <10.0.1> - <10.0.0> - <9.0.3> - <9.0.1> - <9.0.0> | ||||||||||||
145. Labels for conditional and predicted marginals are confusing when the user requests marginals for one or more continuous variables. | ||||||||||||
| Description: | ||||||||||||
| When the user requests predicted or conditional marginals for a continuous model variable, the continuous variable name appears twice in the output label rather than once. Although the label is confusing, the marginals are calculated correctly. | ||||||||||||
| Workaround: | ||||||||||||
There is no work around for this problem. Example: SUBGROUP SEX EDUC_3 REGION MARRY_3; LEVELS 2 3 4 3; REFLEVEL SEX=1 REGION=1 MARRY_3=1; MODEL CANTAF01 = AGE_P SEX EDUC_3 REGION MARRY_3; CONDMARG AGE_P / AGE_P=(25 45 65 75); The output for the conditional marginal looks like this:
EFFECT OF SEX, AGE, EDUCATION, REGION & MARITAL STATUS
ON CAN'T AFFORD MEDS
Marginals with AGE Continuous
by: Conditional Marginal #1.
---------------------------------------------------
Conditional Marginal #1 Conditional
Marginal SE
---------------------------------------------------
Age, Age
1, 25.0000 0.0710 0.0038
1, 45.0000 0.0450 0.0018
1, 65.0000 0.0283 0.0017
1, 75.0000 0.0223 0.0018
---------------------------------------------------
NATIONAL HEALTH INTERVIEW SURVEY (NHIS, 1997)
The next table shows how the output should be labeled:
EFFECT OF SEX, AGE, EDUCATION, REGION & MARITAL STATUS
ON CAN'T AFFORD MEDS
Marginals with AGE Continuous
by: Conditional Marginal #1.
---------------------------------------------------
Conditional Marginal #1 Conditional
Marginal SE
---------------------------------------------------
Age
25.0000 0.0710 0.0038
45.0000 0.0450 0.0018
65.0000 0.0283 0.0017
75.0000 0.0223 0.0018
---------------------------------------------------
NATIONAL HEALTH INTERVIEW SURVEY (NHIS, 1997)
| ||||||||||||
| Status: This bug has been reported in Release 9.0.1, and has been fixed. | ||||||||||||
| This note revised on: 07November07 | ||||||||||||
| ||||||||||||
Return to Bugs resolved in Releases <10.0.1> - <10.0.0> - <9.0.3> - <9.0.1> - <9.0.0> | ||||||||||||
144. (SAS-Callable SUDAAN) SAS formats associated with SUBGROUP or CLASS variables are not stored with the variables in SAS output data sets unless they are also stored with the variables on the SAS input data set. | ||||||||||||
| Description: | ||||||||||||
| If a SAS format is associated with a SUBGROUP or CLASS variable in a SUDAAN procedure only within the PROC call via the RFORMAT statement, then this format name is not saved with the variable on any output data sets produced by the procedure. In Release 8 of SUDAAN the format name was saved on the output data set. In both Releases 8 and 9 the format name is saved with the variable on any output data sets if the format name is associated with the variable on the input data set. | ||||||||||||
| Workaround: | ||||||||||||
Associate the desired format with the variable in a DATA step before using it on the SUBGROUP or CLASS statement in SUDAAN. Example: The following statements create a SAS format which is associated with the variable DOSEGRP only at runtime, and the format DOSEGRP is not associated with the variable DOSEGRP on the output data set, as the partial output from PROC CONTENTS shows: SAS Statements PROC FORMAT; VALUE DOSEGRP 1='Control' 2='0.025%' 3='0.05%' 4='0.075%' 5='0.1%' 6='0.2%' ; RUN; PROC DESCRIPT DATA=IN.BORIC NOMARG DESIGN=WR NOPRINT; NEST _ONE_ DAMID; WEIGHT _ONE_; VAR BW; SUBGROUP DOSEGRP; LEVELS 6; RFORMAT DOSEGRP DOSEGRP.; OUTPUT NSUM WSUM MEAN SEMEAN TOTAL/ FILENAME=OUT.DSCTAB1 FILETYPE=SAS REPLACE; RUN; Partial Output From PROC CONTENTS:
Alphabetic List of Variables and Attributes
# Variable Type Len Format Label
3 DOSEGRP Num 8 12. DOSEGRP
8 MEAN Num 8 8.4 Mean
6 NSUM Num 8 8.4 Sample Size
1 PROCNUM1 Num 8 2. Procedure Number
9 SEMEAN Num 8 8.4 SE Mean
2 TABLENO Num 8 2. Table Number
10 TOTAL Num 8 8.4 Total
4 VARIABLE Num 8 3. Variable
7 WSUM Num 8 8.4 Weighted Size
5 _C1 Num 8 4. Codes for Categorical Variable DOSEGRP
If you create a temporary data set which associated the format DOSEGRP with the variable DOSEGRP before executing the SUDAAN procedure, the format does get saved in the output data set. Additional SAS Statements DATA temp; set in.boric; format dosegrp dosegrp.; run; PROC DESCRIPT DATA=temp NOMARG DESIGN=WR NOPRINT; NEST _ONE_ DAMID; WEIGHT _ONE_; VAR BW; SUBGROUP DOSEGRP; LEVELS 6; RTITLE "Fetal Body Weight in a Teratology Study"; OUTPUT NSUM WSUM MEAN SEMEAN TOTAL/ FILENAME=OUT.DSCTAB2 FILETYPE=SAS REPLACE; RUN;
Partial PROC CONTENTS Output
Alphabetic List of Variables and Attributes
# Variable Type Len Format Label
3 DOSEGRP Num 8 DOSEGRP. DOSEGRP
8 MEAN Num 8 8.4 Mean
6 NSUM Num 8 8.4 Sample Size
1 PROCNUM1 Num 8 2. Procedure Number
9 SEMEAN Num 8 8.4 SE Mean
2 TABLENO Num 8 2. Table Number
10 TOTAL Num 8 8.4 Total
4 VARIABLE Num 8 3. Variable
7 WSUM Num 8 8.4 Weighted Size
5 _C1 Num 8 4. Codes for Categorical Variable DOSEGRP
| ||||||||||||
| Status: This bug has been reported in Release 9.0.1, and has been fixed. | ||||||||||||
| This note revised on: 07November07 | ||||||||||||
| ||||||||||||
Return to Bugs resolved in Releases <10.0.1> - <10.0.0> - <9.0.3> - <9.0.1> - <9.0.0> | ||||||||||||
143. The expected values from MULTILOG should be missing for an observation that has missing values for one or more covariates. The expected values that SUDAAN is producing in this situation are incorrect and should not be used. | ||||||||||||
| Description: | ||||||||||||
| MULTILOG should produce expected values which are missing for any observation where one or more covariates are missing. Note that SUDAAN is producing the correct expected values for observations when all of the covariates contain valid values. Note also that the procedures REGRESS, LOGISITC and LOGLINK all produce the correct expected values for all observations whether or not there are missing values among the covariates. | ||||||||||||
| Workaround: | ||||||||||||
The only work-around is to ignore the expected values produced by MULTILOG when one or more covariates have missing values for a particular observation. Example:
EXPECTED01 EXPECTED02 EXPECTED03 EXPECTED04 BABYSDAD MOINCOM
-----------------------------------------------------------------------------
0.62 0.16 0.19 0.03 1.00 8.00
0.59 0.25 0.12 0.04 1.00 8.00
0.64 0.12 0.22 0.01 1.00 11.00
0.65 0.12 0.21 0.02 1.00 9.00
0.48 0.27 0.10 0.15 1.00 .
0.66 0.10 0.23 0.01 1.00 11.00
0.66 0.09 0.24 0.01 1.00 12.00
0.00 0.00 0.00 1.00 . 6.00
0.00 0.00 0.00 1.00 . 1.00
0.00 0.00 0.00 1.00 . 7.00
0.55 0.29 0.10 0.06 1.00 6.00
| ||||||||||||
| Status: This bug has been reported in Release 9.0.1, and has been fixed. | ||||||||||||
| This note revised on: 07November07 | ||||||||||||
| ||||||||||||
Return to Bugs resolved in Releases <10.0.1> - <10.0.0> - <9.0.3> - <9.0.1> - <9.0.0> | ||||||||||||
142. In some cases in SURVIVAL if the parameters are very large SUDAAN may cause a floating point error and crash. | ||||||||||||
| Description: | ||||||||||||
| In PROC SURVIVAL when one or more parameters are very large for a particular iteration, the quantities SUDAAN calculates during the estimation process may overflow, produce severe round-off errors, or grow beyond the domains of functions such as EXP and LOG. If this happens, you may see a message such as 'Domain Error' or 'Floating Point Error' in your SAS .LOG file, or in your standalone SUDAAN output stream. In some cases, theses problems can be overcome, and in others, it may be impossible to fit the model. | ||||||||||||
| Workaround: | ||||||||||||
If you have a related model which does converge in SUDAAN, and therefore have some idea of the appropriate values for the betas you can supply these values as initial values on the MODEL statement. This may prevent SUDAAN from producing the very large values for the parameters following the first iteration. Example: proc survival data=in.surv1; nest strata psu; weight weight; event senvar; model t1 t2=x1 x2 x3/betas=(0.02 0.0 -0.1); run; | ||||||||||||
| Status: This bug has been reported in Release 9.0.1, and has been fixed. | ||||||||||||
| This note revised on: 07November07 | ||||||||||||
| ||||||||||||
Return to Bugs resolved in Releases <10.0.1> - <10.0.0> - <9.0.3> - <9.0.1> - <9.0.0> | ||||||||||||
141. In PROC REGRESS the standard errors of the model parameter estimates (beta) are incorrect when the options R=EXCHANGE and SEMETHOD=MODEL are specified together. | ||||||||||||
| Description: | ||||||||||||
| In PROC REGRESS the standard errors of the model parameter estimates are incorrect when the options R=EXCHANGE and SEMETHOD=MODEL are specified. The variance estimates when SEMETHOD=BINDER or SEMETHOD=ZEGER are correct. In addition, the point estimate of RHO is also not affected. This bug does not appear in any other procedure. | ||||||||||||
| Workaround: | ||||||||||||
There is not a work-around for this problem. Example: PROC REGRESS data='myfile' R=EXCHANGE SEMETHOD=MODEL; | ||||||||||||
| Status: This bug has been reported in Release 9.0.1, and has been fixed. | ||||||||||||
| This note revised on: 07November07 | ||||||||||||
| ||||||||||||
Return to Bugs resolved in Releases <10.0.1> - <10.0.0> - <9.0.3> - <9.0.1> - <9.0.0> | ||||||||||||
140. There may be an access violation or other error in PROC DESCRIPT or RATIO when there is a CATLEVEL (NUMCAT/DENCAT) statement, and one or more variables on the VAR (NUMER/DENOM) statement has a very long variable label and/or one of the values of the variables has a very long formatted label. | ||||||||||||
| Description: | ||||||||||||
| In some cases the labels constructed in PROC DESCRIPT and PROC RATIO when CATLEVEL or NUMCAT/DENCAT are used may overflow internal boundaries, causing an access violation. This may occur when the combined length of the variable label and the level stub for the level on the CATLEVEL (NUMCAT/DENCAT) statement (i.e. the label on the value format) exceeds 256. | ||||||||||||
| Workaround: | ||||||||||||
The only general workaround is to shorten the label(s) and/or level stubs for the variable(s) in question, before using them in SUDAAN. Example: "This is an example of an extremely long label for the variable X. This label is created to illustrate the problems which may occur in PROC DESCRIPT or PROC RATIO when such a variable is used in conjunction with the CATLEVEL or NUMCAT/DENCAT statements and one or more level stubs are also very long." Suppose in addition that the level stubs for the variable are: 1 = "This is a very long level stub for the first level of the variable X"Then the following DESCRIPT program may cause an access violation which causes your SUDAAN program to halt: PROC DESCRIPT DATA=mydata; NEST STRATUM PSU; WEIGHT WT; VAR X X X; CATLEVEL 1 2 3; PRINT PERCENT SEPERCENT; | ||||||||||||
| Status: This bug has been reported in Release 9.0.1, and has been fixed. | ||||||||||||
| This note revised on: 07November07 | ||||||||||||
| ||||||||||||
Return to Bugs resolved in Releases <10.0.1> - <10.0.0> - <9.0.3> - <9.0.1> - <9.0.0> |
Bugs resolved in Release 9.0.1
139. (SAS9-Callable only) Users of SAS Version 9.1.3 or higher may see an access violation when they attempt to use either SAS9-Callable Individual or SAS9-Callable Network SUDAAN 9.0. This should not occur if you are running SAS Version 9.0, 9.1 or 9.1.2. | |||||||||
| Description: | |||||||||
| Users of SAS Version 9.1.3 or higher may see an ACCESS VIOLATION when using SAS9-callable Individual SUDAAN9.0 or SAS9-Callable Network SUDAAN 9.0. This problem is caused by the presence of the file SASPROCI.DLL located in the directory with the SUDAAN .DLL files. | |||||||||
| Workaround: | |||||||||
| Solution:
If you have SAS Version 9.1.3 or higher (this does not apply for SAS Version 9.0, 9.1 or 9.1.2), remove or rename the file SASPROCI.DLL located in the directory with your SUDAADN .DLL files. By default this will be
C:\PROGRAM FILES\SUDAAN\Release900\SAS9Ind for the SAS9-Callable Individual version Or C:\PROGRAM FILES\SUDAAN\Release900\SAS9Net for the SAS9-Callable Network version | |||||||||
| Status: This bug has been reported in Release 9.0.0, and has been fixed. | |||||||||
| This note revised on: 28February05 | |||||||||
| |||||||||
Return to Bugs resolved in Releases <10.0.1> - <10.0.0> - <9.0.3> - <9.0.1> - <9.0.0> | |||||||||
138. The EFFECTS and CONTRAST statements do not work in the regression procedures REGRESS, LOGISITC, LOGLINK and MULTILOG for multiply imputed data. | |||||||||
| Description: | |||||||||
| All results in the TESTS output group associated with contrasts defined using the EFFECTS and CONTRAST statements in REGRESS, LOGISTIC, LOGLINK and MULTILOG are missing when you analyze multiply imputed data. | |||||||||
| Workaround: | |||||||||
| Partial Work-around:
If you want to do simple pairwise comparisons of each level of a categorical covariate to a reference level, use the REFLEVEL statement to specify your reference cell, then use the p-values associated with the regression coefficients for that variable to get the p-values for each contrast | |||||||||
| Status: This bug has been reported in Release 9.0.0, and has been fixed. | |||||||||
| This note revised on: 28February05 | |||||||||
| |||||||||
Return to Bugs resolved in Releases <10.0.1> - <10.0.0> - <9.0.3> - <9.0.1> - <9.0.0> | |||||||||
137. (SAS-callable only) There may be a PROGRAMMER ERROR or an access violation when you analyze multiply imputed data using a distinct data set for each imputation and the number of data sets is large. | |||||||||
| Description: | |||||||||
| In some cases, when you analyze multiply imputed data with a large (16 or more) number of imputed data sets, using either the MI_COUNT option or the MI_FILES statement, SUDAAN may produce a PROGRAMEMR ERROR or an access violation. | |||||||||
| Workaround: | |||||||||
| Create a single data set with all of the imputation information, and use the MI_VAR statement to specify the different variables associated with each imputed variable in the original data set. For example if there are 20 different multiply imputed data sets and the variable A is imputed, then on the new data set create variables A1, A2, … A20, such that A1 is the value of A on the first data set, A2 is the value of A on the second data set, … and A20 is the value of A on the 20th data set. In your SUDAAN program, use the MI_VAR statement as follows:
MI_VAR A1 A2 ….. A20; Note that you may have as many MI_VAR statements as you need in a single SUDAAN program call. For further details and examples of the MI_VAR statement see the SUDAAN Language Manual, Section 3.7.5, Using Multiple Variables on the Same Data Set. Example:
PROC CROSSTAB DATA=MI_ALL FILETYPE=SAS DESIGN=WR; NEST STRATUM PSU; MI_VAR A1-A20; CLASS A1; PRINT WSUM ROW SEROW/STYLE=NCHS; | |||||||||
| Status: This bug has been reported in Release 9.0.0, and has been fixed. | |||||||||
| This note revised on: 23February05 | |||||||||
| |||||||||
Return to Bugs resolved in Releases <10.0.1> - <10.0.0> - <9.0.3> - <9.0.1> - <9.0.0> | |||||||||
136. Confusing DATA ERROR message in modeling procedures. | |||||||||
| Description: | |||||||||
In the modeling procedures, in cases where the estimation matrix for tests of hypothesis is nearly singular, it is possible in some cases to see the following DATA ERROR message:
DATA ERROR : (Message 410) Invalid value for F-value parameter fval=-3.78956126e-014 f1=1 f2=1000 Note that this DATA ERROR message follows the DATA WARNING message: DATA WARNING : Degrees of freedom for OVERALL contrast are less than maximum number of estimable parameters You may wish to rerun this job with a tolerance (TOL) of 1.000000e-007 and 1.000000e-005 Both messages are an indication that the data may not support the hypothesis tests requested. In future releases SUDAAN will produce a clearer error message for this problem. | |||||||||
| Workaround: | |||||||||
| If possible omit the CONTRAST or EFFECTS statement which is causing the error. | |||||||||
| Status: This bug has been reported in Release 9.0.0, and has been fixed. | |||||||||
| This note revised on: 23February05 | |||||||||
| |||||||||
Return to Bugs resolved in Releases <10.0.1> - <10.0.0> - <9.0.3> - <9.0.1> - <9.0.0> | |||||||||
135. PROGRAMMER ERROR in CROSSTAB for multiply imputed data when there are one or more 1-dimensional tables. | |||||||||
| Description: | |||||||||
| There may be a PROGRAMMER ERROR in CROSSTAB for multiply imputed data when there are one or more 1-dimensional tables. | |||||||||
| Workaround: | |||||||||
| The work around is to eliminate 1-dimensional tables when working with multiply imputed data in CROSSTAB. You can do this using the variable _ONE_ as the following example illustrates.
Example:
PROC CROSSTAB DATA=TEST1 MI_COUNT=4;
Changing the SUBGROUP and LEVELS statements, and adding an appropriate TABLES statement can avoid the error: PROC CROSSTAB DATA=TEST1 MI_COUNT=4;
If you are using the CLASS statement, the same type of solution works: PROC CROSSTAB DATA=TEST1 MI_COUNT=4;
| |||||||||
| Status: This bug has been reported in Release 9.0.0, and has been fixed. | |||||||||
| This note revised on: 23February05 | |||||||||
| |||||||||
Return to Bugs resolved in Releases <10.0.1> - <10.0.0> - <9.0.3> - <9.0.1> - <9.0.0> | |||||||||
134. There is a problem with SEQTILE in PROC DESCRIPT for delete-1 jackknife designs when POSTVAR and POSTWGT are specified. | |||||||||
| Description: | |||||||||
| The calculations of QTILE for each PSU do not correctly account for the post-stratification, hence the calculation of SEQTILE is not correct for this case. | |||||||||
| Workaround: | |||||||||
| There is no workaround for this problem. | |||||||||
| Status: This bug has been present in SUDAAN since Releases 7.x. This bug has been reported in Release 9.0.0, and has been fixed. | |||||||||
| This note revised on: 23February05 | |||||||||
| |||||||||
Return to Bugs resolved in Releases <10.0.1> - <10.0.0> - <9.0.3> - <9.0.1> - <9.0.0> | |||||||||
133. There is a problem with SECUMPCT in PROC DESCRIPT for BRR and Jackknife designs. | |||||||||
| Description: | |||||||||
| For BRR and replicate weight jackknife designs there is a PROGRAMMER ERROR when calculation of SECUMPCT is specified in PROC DESCRIPT. This calculation is undefined and should not be permitted in SUDAAN. Note that the QTILE, SEQTILE, and the confidence limits for QTILE are computed correctly for BRR and Jackknife designs. | |||||||||
| Workaround: | |||||||||
| There is no work-around for this problem. Do not request the SECUMPCT keyword in PROC DESCRIPT for BRR and replicate weight jackknife designs. | |||||||||
| Status: This bug has been present in SUDAAN since Releases 7.x. This bug has been reported in Release 9.0.0, and has been fixed. | |||||||||
| This note revised on: 23February05 | |||||||||
| |||||||||
Return to Bugs resolved in Releases <10.0.1> - <10.0.0> - <9.0.3> - <9.0.1> - <9.0.0> | |||||||||
132. There is a problem with the output groups PCTCOV on the OUTPUT statement in DESCRIPT for multiply imputed data. | |||||||||
| Description: | |||||||||
| In Release 9.0.0 of SUDAAN there is an error in the handling of the output group PCTCOV on the OUTPUT statement in DESCRIPT for multiply imputed data only. Because of the error it is impossible to write this group to an output data set, either by specifying the individual keywords or by specifying the group name on the OUTPUT statement. | |||||||||
| Workaround: | |||||||||
| The only available remedy is to PRINT the desired keywords and then import them into other software for further analysis.
Example: The following program output illustrates the problem:
SEMANTIC ERROR in Request 69:
Instead of the OUTPUT statement use a PRINT statement such as the following: PRINT / PCTCOV=ALL COVPCTFMT=F8.4; | |||||||||
| Status: This bug has been reported in Release 9.0.0, and has been fixed. | |||||||||
| This note revised on: 23February05 | |||||||||
| |||||||||
Return to Bugs resolved in Releases <10.0.1> - <10.0.0> - <9.0.3> - <9.0.1> - <9.0.0> | |||||||||
131. (Standalone SUDAAN only) There may be a PROGRAMMER ERROR in PROC RECORDS with SAS XPORT data when the LEVFILE option is used. | |||||||||
| Description: | |||||||||
| In some cases in standalone versions of SUDAAN you may see a PROGRAMMER ERROR in PROC RECORDS with SAS XPORT data when the LEVFILE option is used. This can happen if there are formats in the LEVFILE file not associated with any variable on the main data set. This problem does not occur in any other procedure when SAS XPORT data and the LEVFILE option are used. | |||||||||
| Workaround: | |||||||||
| If you omit the LEVFILE option on the PROC RECORDS statement there is no error.
Example: The following program may end with a PROGRAMMER ERROR: PROC RECORDS DATA=mysasxdata LEVFILE=mysasxlev FILETYPE=SASXPORT COUNTREC CONTENTS; The next program, which is identical to the previous one except for the bolded text, does not end with a PROGRAMMER ERROR: PROC RECORDS DATA=mysasxdata FILETYPE=SASXPORT COUNTREC CONTENTS; | |||||||||
| Status: This bug has been reported in Release 9.0.0, and has been fixed. | |||||||||
| This note revised on: 23February05 | |||||||||
| |||||||||
Return to Bugs resolved in Releases <10.0.1> - <10.0.0> - <9.0.3> - <9.0.1> - <9.0.0> | |||||||||
130. PROGRAMMER ERROR in CROSSTAB when there is only one STRRISK keyword on the RISK statement | |||||||||
| Description: | |||||||||
| You may receive a “PROGRAMMER ERROR” message in CROSSTAB when you are analyzing multiply imputed data and you specify the RISK statement with only one of the following keywords: OR, RR1 RR2, and specify one or more keywords from the STRRISK group on PRINT or OUTPUT. | |||||||||
| Workaround: | |||||||||
| If you place at least two of the keywords OR, RR1 and RR2 on the RISK statement there is no error.
Example: The following program will lead to a PROGRAMMER ERROR: PROC CROSSTAB DATA=FORSUDN1 MI_COUNT=5; NEST SDPSTRA6 SDPPSU6 / MISSUNIT; WEIGHT WTPFQX6; SUBGROUP HSSEX POVERTY HAT28MI; LEVELS 2 2 3; TABLES HAT28MI *HSSEX * POVERTY; risk or; print srisk; The following program will NOT lead to a PROGRAMMER ERROR: PROC CROSSTAB DATA=FORSUDN1 MI_COUNT=5; NEST SDPSTRA6 SDPPSU6 / MISSUNIT; WEIGHT WTPFQX6; SUBGROUP HSSEX POVERTY HAT28MI; LEVELS 2 2 3; TABLES HAT28MI *HSSEX * POVERTY; risk or rr1; print srisk; | |||||||||
| Status: This bug has been reported in Release 9.0.0, and has been fixed. | |||||||||
| This note revised on: 23February05 | |||||||||
| |||||||||
Return to Bugs resolved in Releases <10.0.1> - <10.0.0> - <9.0.3> - <9.0.1> - <9.0.0> | |||||||||
129. There is a problem with the output groups ROWCOV, COLCOV and TOTCOV on the OUTPUT statement in CROSSTAB. | |||||||||
| Description: | |||||||||
| In Release 9.0.0 of SUDAAN there is an error in the handling of the output groups ROWCOV, COLCOV and TOTCOV on the OUTPUT statement in CROSSTAB. Because of the error it is impossible to write any of these groups to an output data set, either by specifying the individual keywords or by specifying the group name on the OUTPUT statement. | |||||||||
| Workaround: | |||||||||
| The only available remedy is to PRINT the desired keywords and then import them into other software for further analysis.
Example: The following program output illustrates the problem: 1 PROC CROSSTAB DATA="brfshort" FILETYPE=SAS NOPRINT; 2 NEST _STSTR _PSU; 3 WEIGHT _FINALWT; 4 SUBPOPN SEX=2 / NAME="females"; 5 SUBGROUP MAMEXAM ; 6 LEVELS 2; 7 OUTPUT / FILENAME="COVROW" ROWCOV=ALL REPLACE; SEMANTIC ERROR: DDF, ESTIMATE and COVAR are required for COVAR output Instead of the OUTPUT statement use a PRINT statement such as the following: PRINT / ROWCOV=ALL COVROWFMT=F8.4; | |||||||||
| Status: This bug has been reported in Release 9.0.0, and has been fixed. | |||||||||
| This note revised on: 23February05 | |||||||||
| |||||||||
Return to Bugs resolved in Releases <10.0.1> - <10.0.0> - <9.0.3> - <9.0.1> - <9.0.0> | |||||||||
128. Variances may be incorrect when there are non-positive or missing values on the WEIGHT variable. | |||||||||
| Description: | |||||||||
| In Release 9.0.0 of SUDAAN, variances estimates and estimates of some test statistics may be incorrect if there are non-positive or missing values for some records on the WEIGHT variable. | |||||||||
| Workaround: | |||||||||
| SUDAAN computes all variances and test statistics correctly if the observations with non-positive or missing values are removed from the data set prior to analysis in SUDAAN. Note that using SUDAAN’s SUBPOPN statement in a statistical procedure to remove these records will not be sufficient to correct this error. Using the SUBPOPN statement in PROC RECORDS to create a subsetted data set for future analysis will work.
Example: Suppose the variable WGTVAR in your data set MYDATA has non-positive or missing values. You can use PROC RECORDS to create a data set with all weights positive as follows: PROC RECORDS DATA=MYDATA NOPRINT; SUBPOPN WGTVAR>0; OUTPUT / FILENAME=MYPOSDATA FILETYPE=SUDAAN REPLACE; The dataset MYPOSDATA can then be used safely in subsequent SUDAAN procedures. | |||||||||
| Status: This bug has been reported in Release 9.0.0, and has been fixed. | |||||||||
| This note revised on: 23February05 | |||||||||
| |||||||||
Return to Bugs resolved in Releases <10.0.1> - <10.0.0> - <9.0.3> - <9.0.1> - <9.0.0> | |||||||||
127. A PROGRAMMER ERROR may occur when you analyze multiply imputed data, the NOPRINT option is set and the OUTPUT statement(s) have the BY_MI option. | |||||||||
| Description: | |||||||||
| In some cases there may be a PROGRAMMER ERROR or access violation when you are analyzing multiply imputed data, the NOPRINT option is set, and all OUTPUT statements have the BY_MI option. | |||||||||
| Workaround: | |||||||||
| If you remove the NOPRINT option or include at least one OUTPUT statement without the BY_MI option, the program runs without error.
Example: The following program may lead to a PROGRAMMER ERROR: PROC DESCRIPT DATA=MYMI1 MI_COUNT=3 NOPRINT DESIGN=SRS; VAR X; OUTPUT MEAN SEMEAN / BY_MI FILENAME=MIMEAN REPLACE; The following program will avoid this PROGRAMMER ERROR: PROC DESCRIPT DATA=MYMI1 MI_COUNT=3 DESIGN=SRS /*NOPRINT*/; VAR X; OUTPUT MEAN SEMEAN / BY_MI FILENAME=MIMEAN REPLACE; PRINT MEAN SEMEAN; | |||||||||
| Status: This bug has been reported in Release 9.0.0, and has been fixed. | |||||||||
| This note revised on: 23February05 | |||||||||
| |||||||||
Return to Bugs resolved in Releases <10.0.1> - <10.0.0> - <9.0.3> - <9.0.1> - <9.0.0> | |||||||||
126. (SAS-Callable SUDAAN only) In some cases the SUDAAN internal page size setting may be out of sync with the SAS options ps=size setting, causing page breaks at inappropriate places in output tables. | |||||||||
| Description: | |||||||||
| In some cases in SAS-callable SUDAAN the internal page size setting may be out of sync with the SAS options ps=size setting, and you may get page breaks at inappropriate places in output tables. This is most likely to occur when the actual number of lines needed to print the headers and a table is very close to the ps setting. The following example show how output may be cut inappropriately:
X6 0 0.10 0.92 -2.25 2.46 0.11 0.9136 1 0.11 0.68 -1.64 1.85 0.16 0.8808 2 -0.03 0.70 -1.82 1.77 -0.04 0.9712 3 -0.54 0.45 -1.70 0.62 -1.20 0.2844 4 -0.95 0.83 -3.09 1.19 -1.14 0.3051 5 0.14 0.55 -1.27 1.54 0.25 0.8112 | |||||||||
| Workaround: | |||||||||
| If you increase or decrease the page size setting slightly, you may be able to avoid this problem. | |||||||||
| Status: This bug is present is Releases 8.x.x and 9.0.0. This bug was reported in Release 9.0.0, and has been fixed. | |||||||||
| This note revised on: 23February05 | |||||||||
| |||||||||
Return to Bugs resolved in Releases <10.0.1> - <10.0.0> - <9.0.3> - <9.0.1> - <9.0.0> | |||||||||
125. (SAS-Callable Versions Only) In some cases there may be an access violation when no SAS format is associated with a SUBGROUP or CLASS variable. | |||||||||
| Description: | |||||||||
In some cases in SAS-callable SUDAAN you may see an error message such as the following when you have a SUBGROUP or CLASS variable with no default or runtime SAS format associated with it:
ERROR: Read Access Violation In Task [ CROSSTAB ) | |||||||||
| Workaround: | |||||||||
| If you associate any SAS format with the variable in a data step outside SUDAAN, or associate a format created by PROC FORMAT with the variable using the RFORMAT statement inside SUDAAN, the error will not occur.
Example: Suppose the variable X in the data set BADFMT has no associated format. To associate a SAS format outside of SUDAAN and then use the variable in SUDAAN: DATA GOODFMT; SET BADFMT; FORMAT X BEST6.; RUN; PROC CROSSTAB DATA=GOODFMT;. | |||||||||
| Status: This bug has been reported in Release 9.0.0, and has been fixed. | |||||||||
| This note revised on: 23February05 | |||||||||
| |||||||||
Return to Bugs resolved in Releases <10.0.1> - <10.0.0> - <9.0.3> - <9.0.1> - <9.0.0> | |||||||||
124. PROGRAMMER ERROR when one or more CLASS variables are missing on every record. | |||||||||
| Description: | |||||||||
| You may see a PROGRAMMER ERROR message when a CLASS variable is missing on every record, and the INCLUDE=MISSING option is omitted from the corresponding CLASS statement. In this case, the CLASS variable has no valid levels, and cannot be used by SUDAAN. The program should warn the user of this problem and halt. Unfortunately the PROGRAMMER ERROR message does not give a useful diagnostic in this case, so users may not realize what the problem is. | |||||||||
| Workaround: | |||||||||
| If you see the following error message and you are using one or more CLASS statements, then add /INCLUDE=MISSING to your CLASS statement(s), and verify that all CLASS variables have at least one non-missing value. If one or more CLASS variables have no non-missing values, then remove them from the CLASS statement and from the analysis.
PROGRAMMER ERROR in Object 345 : NOTICE: You may have found a bug in the SUDAAN software. Please contact Research Triangle Institute with complete information about this job so that we can attempt to locate and correct the problem. (Message 505) Offset out of range. Offset is 0 object type is SARRAY (4) Expected type is 4 FATAL ERROR in SUDAAN | |||||||||
| Status: This bug has been reported in Release 9.0.0, and has been fixed. | |||||||||
| This note revised on: 23February05 | |||||||||
| |||||||||
Return to Bugs resolved in Releases <10.0.1> - <10.0.0> - <9.0.3> - <9.0.1> - <9.0.0> | |||||||||
123. (Standalone SUDAAN only) There may be an access violation if the NAMEFILE option is used on the PROC statement with FILETYPE=SASXPORT. | |||||||||
| Description: | |||||||||
| An access violation or other fatal error may occur if the NAMEFILE option is used with a SASXPORT data set on the PROC statement. If no NAMEFILE option is used, no problem will occur. The problem will not occur if the input file type is ASCII, SUDAAN or SUDXPORT. | |||||||||
| Workaround: | |||||||||
| Omit the NAMEFILE option, or if possible use an alternate input file type: ASCII, SUDAAN or SUDXPORT. The error will not occur in these cases. | |||||||||
| Status: This bug has been reported in Release 9.0.0, and has been fixed. | |||||||||
| This note revised on: 23February05 | |||||||||
| |||||||||
Return to Bugs resolved in Releases <10.0.1> - <10.0.0> - <9.0.3> - <9.0.1> - <9.0.0> | |||||||||
122. There is a problem with contrasted TOTALS with Multiply Imputed Data | |||||||||
| Description: | |||||||||
| When one or more contrasts (CONTRAST, DIFFVAR, PAIRWISE, POLYNOMIAL statements) are specified in PROC DESCRIPT, and the analysis uses multiply imputed data, the SETOTAL, UPTOTAL and LOWTOTAL are all missing. | |||||||||
| Workaround: | |||||||||
| There is no work around within SUDAAN for this problem. These values can be computed outside of SUDAAN from the values produced for each imputation separately, using the formulas in Chapter 3 of the SUDAAN Language Manual. | |||||||||
| Status: This bug has been reported in Release 9.0.0, and has been fixed. | |||||||||
| This note revised on: 23February05 | |||||||||
| |||||||||
Return to Bugs resolved in Releases <10.0.1> - <10.0.0> - <9.0.3> - <9.0.1> - <9.0.0> | |||||||||
121. Problems in RATIO and DESCRIPT with some confidence limits on contrasted RHAT, MEAN and TOTAL. | |||||||||
| Description: | |||||||||
| In some cases in PROCS RATIO and DESCRIPT when multiple contrasts (CONTRAST DIFFVAR, PAIRWISE or POLNOMIAL statements) are defined, there may be programmer errors when confidence limits are specified. In other cases the values displayed for contrast statements after the first may be incorrect. | |||||||||
| Workaround: | |||||||||
| There is no problem if only one contrast (CONTRAST, DIFFVAR, PAIRWISE or POLYNOMIAL statement) is specified in each SUDAAN program. | |||||||||
| Status: This bug has been reported in Release 9.0.0, and has been fixed. | |||||||||
| This note revised on: 23February05 | |||||||||
| |||||||||
Return to Bugs resolved in Releases <10.0.1> - <10.0.0> - <9.0.3> - <9.0.1> - <9.0.0> | |||||||||
120. Problems with Confidence Limits for Percentiles in DESCRIPT | |||||||||
| Description: | |||||||||
| In some cases there may be problems with the confidence limits, and hence the variances for percentiles in PROC DESCRIPT using the ungrouped method. SUDAAN may produce a message about being unable to extrapolate to produce confidence limits, when in fact it can, or estimates for confidence limits may change with the addition of more values on the PERCENTILE statement. These problems are generally caused when there are too few bins for some cells. Part of this behavior is due to a bug in the software, but in some cases the behavior may manifest even when there is no bug. | |||||||||
| Workaround: | |||||||||
| In many cases, adding a HISTPCT statement, with an NPCT option greater than the default (20) can resolve the issue. | |||||||||
| Status: This bug has been reported in Release 9.0.0, and has been fixed. | |||||||||
| This note revised on: 23February05 | |||||||||
| |||||||||
Return to Bugs resolved in Releases <10.0.1> - <10.0.0> - <9.0.3> - <9.0.1> - <9.0.0> | |||||||||
119. The value of the CHECK keyword is undefined in the modeling procedures for BRR and Jackknife designs | |||||||||
| Description: | |||||||||
| The value of the maximum relative difference in cell pairs in the matrices A and AA~A and in the matrices A ~ and A~ AA~ following inversion of the estimation matrix in REGRESS, LOGISITC, LOGLINK and MULTILOG, is not properly set for BRR and Jackknife designs. This may lead to spurious warnings that the maximum relative difference exceeds the tolerance in some cases, or may result in an omitted warning in others. | |||||||||
| Workaround: | |||||||||
| Compute the estimates using DESIGN=SRS. The maximum relative difference is set correctly in this case, and any warning, if present is proper.
Example: | |||||||||
| Status: This bug has been reported in Release 9.0.0, and has been fixed. | |||||||||
| This note revised on: 23February05 | |||||||||
| |||||||||
Return to Bugs resolved in Releases <10.0.1> - <10.0.0> - <9.0.3> - <9.0.1> - <9.0.0> | |||||||||
118. In PROC MULTILOG when the response (left-hand-side) variable is on a CLASS statement with INCLUDE=MISSING, the labels in the table of Sample and Population Counts for the Response variable are incorrect. | |||||||||
| Description: | |||||||||
| PROC MULTILOG always produces a summary table of sample and population counts for the response variable. When this variable is on the CLASS statement and the INCLUDE=MISSING option is present, the labels for the levels of the response variable are incorrect. This is a labeling error only. The correct counts are used in the calculations. In addition, the labels in all tables produced on the PRINT statement are correct. | |||||||||
| Workaround: | |||||||||
| You can use CROSSTAB to correctly display the sample and populations counts for the response variable. (Use keywords NSUM and WSUM on the PRINT statement). | |||||||||
| Status: This bug has been reported in Release 9.0.0, and has been fixed. | |||||||||
| This note revised on: 23February05 | |||||||||
| |||||||||
Return to Bugs resolved in Releases <10.0.1> - <10.0.0> - <9.0.3> - <9.0.1> - <9.0.0> | |||||||||
117. Frequency Tables for CLASS variables (all procedures) may not display correctly when the INCLUDE=MISSING option is present on the CLASS statement. | |||||||||
| Description: | |||||||||
| Frequency tables for CLASS variables may not display correctly when the INCLUDE=MISSING option is present on the CLASS statement. All entries in the table after the entry for the missing value will be omitted. Thus, the problem will occur whenever the missing value is not the last sorted value. In all cases, the tables produced by the PRINT statement are correctly labeled. | |||||||||
| Workaround: | |||||||||
In all procedures frequency tables will display correctly for the following CLASS statement: CLASS variable(s) / INCLUDE=MISSING SORT=INTERNAL DIR=DESCENDING; Example: Suppose the variable A has the following values: .: 70 1: 150 2: 115 The CLASS statement CLASS A / INCLUDE=MISSING; Produces the following truncated frequency table: Frequencies and Values for CLASS Variables by: Sample Variable A. ------------------------------------ Sample Variable A Frequency Value ------------------------------------ Ordered Position: 1 70 . To see all levels of A correctly displayed, use the CLASS statement CLASS A / INCLUDE=MISSING SORT=INTERNAL DIR=DESCENDING. This CLASS statement produces the following frequency table: Frequencies and Values for CLASS Variables by: Sample Variable A. ------------------------------------ Sample Variable A Frequency Value ------------------------------------ Ordered Position: 1 115 2 Ordered Position: 2 150 1 Ordered Position: 3 70 . | |||||||||
| Status: This bug has been reported in Release 9.0.0, and has been fixed. | |||||||||
| This note revised on: 23February05 | |||||||||
| |||||||||
Return to Bugs resolved in Releases <10.0.1> - <10.0.0> - <9.0.3> - <9.0.1> - <9.0.0> | |||||||||
116. Incorrect Confidence Limits for Contrasted Percents in DESCRIPT | |||||||||
| Description: | |||||||||
| The confidence limits for contrasted percents in PROC DESCRIPT are currently missing in cases where the contrasted percent itself is negative, and incorrectly calculated in cases where the contrasted percent is positive. Currently the contrasted percents are being transformed to the log scale to obtain the confidence limits, as are the uncontrasted percents. This transform should only be applied to uncontrasted percents. Confidence limits for uncontrasted percents should be computed in the straightforward manner used for means and totals. | |||||||||
| Workaround: | |||||||||
| There is no work-around for this problem. Do not attempt to compute confidence limits for contrasted percents. | |||||||||
| Status: This bug has been reported in Release 9.0.0, and has been fixed. | |||||||||
| This note revised on: 23February05 | |||||||||
| |||||||||
Return to Bugs resolved in Releases <10.0.1> - <10.0.0> - <9.0.3> - <9.0.1> - <9.0.0> | |||||||||
115. Missing or Unpredictable values for Design Effects, SRSCOV and Satterthwaite Adjusted Statistics in SURVIVAL with BRR and Jackknife designs. | |||||||||
| Description: | |||||||||
| In PROC SURVIVAL when DESIGN=BRR or DESIGN=JACKKNIFE, the SRS Variance-Covariance matrix for the betas is not retained until the final step when design effects and Satterthwaite-adjusted statistics are computed. As a result SUDAAN may display missing values for these quantities, or may display other unpredictable values. | |||||||||
| Workaround: | |||||||||
| There is no work around for this problem. Do not request design effects for the betas, or Satterthwaite-adjusted statistics when using the BRR and Jackknife designs in PROC SURVIVAL. | |||||||||
| Status: This bug has been reported in Release 9.0.0, and has been fixed. | |||||||||
| This note revised on: 23February05 | |||||||||
| |||||||||
Return to Bugs resolved in Releases <10.0.1> - <10.0.0> - <9.0.3> - <9.0.1> - <9.0.0> | |||||||||
114. PROGRAMMER ERROR in REGRESS, LOGISTIC, LOGLINK and MULTILOG when PREDMARG or PRED_EFF is used with SEMETHOD=MODEL. | |||||||||
| Description: | |||||||||
| Beginning with Release 9.0.0 a PROGRAMMER ERROR may occur when users specify either the PREDMARG or PRED_EFF statement along with the option SEMETHOD=MODEL. Neither of these combinations is permitted in SUDAAN, though both CONDMARG and COND_EFF are permitted with SEMETHOD=MODEL. The error occurs because checking for these illegal cases is incomplete. | |||||||||
| Workaround: | |||||||||
| Do not use either the PREDMARG or the PRED_EFF statements in REGRESS, LOGISITC, LOGLINK or MULTILOG when SEMTHOD=MODEL. | |||||||||
| Status: This bug has been reported in Release 9.0.0, and has been fixed. | |||||||||
| This note revised on: 23February05 | |||||||||
| |||||||||
Return to Bugs resolved in Releases <10.0.1> - <10.0.0> - <9.0.3> - <9.0.1> - <9.0.0> |
Bugs resolved in Release 9.0.0
113. In SURVIVAL for TIES=EFRON in the continuous time models the value for HAZARD for tied times is not correct. | ||||||||||||||||||||||||
| Description: | ||||||||||||||||||||||||
| In SURVIVAL the cumulative hazard for individuals with tied times is not correctly computed for TIES=EFRON. | ||||||||||||||||||||||||
| Workaround: | ||||||||||||||||||||||||
| None | ||||||||||||||||||||||||
| Status: This problem was introduced in Release 8.0.0, and has been corrected in Release 9.0.0 of SUDAAN on all Windows platforms. | ||||||||||||||||||||||||
| This note revised on: 20July04 | ||||||||||||||||||||||||
| ||||||||||||||||||||||||
Return to Bugs resolved in Releases <10.0.1> - <10.0.0> - <9.0.3> - <9.0.1> - <9.0.0> | ||||||||||||||||||||||||
112. SUDAAN PROC RECORDS hangs when trying to display the available labels for a SAS format because of negative levels, which SUDAAN does not handle properly | ||||||||||||||||||||||||
| Description: | ||||||||||||||||||||||||
SUDAAN cannot handle SAS formats containing negative levels. This problem occurs with SAS-callable SUDAAN with SAS formats, and in standalone SUDAAN with a SAS format catalog in SASXPORT format. For example, the following creates a format which cannot be handled by SUDAAN: proc format library=library cntlout=out.fmtlib; | ||||||||||||||||||||||||
| Workaround: | ||||||||||||||||||||||||
| The only work around is to refrain from using formats with negative levels. | ||||||||||||||||||||||||
| Status: This problem has been present since Release 7.0, and has been corrected in Release 9.0.0 of SUDAAN on all platforms. | ||||||||||||||||||||||||
| This note revised on: 20July04 | ||||||||||||||||||||||||
| ||||||||||||||||||||||||
Return to Bugs resolved in Releases <10.0.1> - <10.0.0> - <9.0.3> - <9.0.1> - <9.0.0> | ||||||||||||||||||||||||
111. Windows versions of SUDAAN do not properly interpret paths containing ‘.’ Ahead of the final file extension. | ||||||||||||||||||||||||
| Description: | ||||||||||||||||||||||||
SUDAAN cannot properly interpret Filenames to on the PROC, PRINT and OUTPUT statements, if the path contains embedded ‘.’ For example, SUDAAN cannot properly handle the following: PROC RECORDS DATA=”C:\TEST.DATA\MYDATA” FILETYPE=SPSS; | ||||||||||||||||||||||||
| Workaround: | ||||||||||||||||||||||||
| Create a new directory with a name which does not contain the ‘.’ character. | ||||||||||||||||||||||||
| Status: This problem was introduced in Release 8.0.0, and has been corrected in Release 9.0.0 of SUDAAN on all Windows platforms. | ||||||||||||||||||||||||
| This note revised on: 20July04 | ||||||||||||||||||||||||
| ||||||||||||||||||||||||
Return to Bugs resolved in Releases <10.0.1> - <10.0.0> - <9.0.3> - <9.0.1> - <9.0.0> | ||||||||||||||||||||||||
110. In SURVIVAL for the Cox proportional hazards model the values for the cumulative hazard may be incorrect for some records with no event. | ||||||||||||||||||||||||
| Description: | ||||||||||||||||||||||||
In cases where the individual(s) with the lowest end time all are associated with non-events, the hazard for these individuals should be 0. However, due to a logic error in the program, the hazard for these individuals may be set to a different value. There is no problem with the hazards assigned from the first time point associated with an event onward. The following records illustrate the type of input that currently has a problem. In this case SUDAAN incorrectly assigns a non-zero hazard to the first person on the file.
| ||||||||||||||||||||||||
| Workaround: | ||||||||||||||||||||||||
| If the lowest end time associated with an event is not the lowest end time in the data set, then add a SUBPOPN statement removing the events with lower end time from the analysis. This will not change anything but the likelihood. The betas, their SE's and the hazards for the remaining records will remain the same. For the example above, the SUBPOPN statement would be SUBPOPN TIME > 1; | ||||||||||||||||||||||||
| Status: This problem was introduced in Release 8.0.0, and has been corrected in Release 9.0.0 of SUDAAN on all platforms. | ||||||||||||||||||||||||
| This note revised on: 20July04 | ||||||||||||||||||||||||
| ||||||||||||||||||||||||
Return to Bugs resolved in Releases <10.0.1> - <10.0.0> - <9.0.3> - <9.0.1> - <9.0.0> | ||||||||||||||||||||||||
109. There is a problem with the way format names associated with variables on the IDVAR statement in SAS-Callable SUDAAN are saved in output SAS data sets. | ||||||||||||||||||||||||
| Description: | ||||||||||||||||||||||||
| There is a problem with the way format names associated with variables on the IDVAR statement in SAS-Callable SUDAAN are saved in output SAS data sets. An extra '.' appears at the end of the name, making it impossible for SAS to use the data set. | ||||||||||||||||||||||||
| Workaround: | ||||||||||||||||||||||||
| You can get around this by removing all formats from variables that will be used in the IDVAR statement before processing your data set with SUDAAN. | ||||||||||||||||||||||||
| Status: This problem is present in all releases of SUDAAN since 7.3, and has been corrected in Release 9.0.0 of SUDAAN on all platforms. | ||||||||||||||||||||||||
| This note revised on: 20July04 | ||||||||||||||||||||||||
| ||||||||||||||||||||||||
Return to Bugs resolved in Releases <10.0.1> - <10.0.0> - <9.0.3> - <9.0.1> - <9.0.0> |