BookmarkSubscribeRSS Feed
Gomer
Calcite | Level 5

Question in brief: can you/ how do you implement fitting alternate distributions in ICLIFETEST, and do I really need to?  I ask, because I think the PROC fits an assumed distribution (normal I assume), and I read somewhere--probably for one of the other survival analysis PROCs--that you can specify a distribution to fit your data to. 

 

I have left censored data with variable censoring ranges, and none of the whole or the subsets of data I am analyzing can be transformed to provide normality.  The data are mostly theoretically ~lognormal, are leptokurtotic, and highly skewed right, but no one transformation can be used on the data set as a whole, hence the nonparametric route.

 

Also, I would like to run the procedure and get an lsmeans/ tukeyHSD type output for multiple comparisons, but have been thwarted since using a BY statement precludes that and has led me to separate analyses to compare years within treatment and treatment within year.  I get an F test, but I have to go to PROC GLM (adjust=tukey) to get individual comparisons.  And, unfortunately I have unbalanced samples and have to use LSMEANS in GLM, which doesn't allow for a Tukey HSD test.  Any solutions that I am overlooking?

 

Here's a piece of my script.  It runs w/o errors.  

title "Survival Analysis Calcium Tiles Test Treatment by Year";
proc iclifetest data=Work.CaTiles method=EMICM plots=survival (failure) plots=logsurv
	impute(seed=0);
	STRATA Year;
	test Treatment / Adjust=Tukey;
   	time (lower,upper);
run;
title "Survival Analysis Calcium Tiles Test Treatment All Years";
proc iclifetest data=Work.CaTiles method=EMICM plots=survival (failure) plots=logsurv
	impute(seed=0);
	test Treatment / Adjust=Tukey;
   	time (lower,upper);
run;

/*SUBSETTING: excludes 2007 data because no ST to compare*/
Data CaRunoffne2007;
set CaRunoff;
where Year ne 2007;
run;
PROC SORT DATA = CaRunoffne2007; 
     BY Year Treatment;
title "Survival Analysis Calcium Runoff Test Treatments by Year";
proc iclifetest data=Work.CaRunoffne2007 method=EMICM plots=survival (failure) impute(seed=0);
	STRATA Year;
	test Treatment / Adjust=Tukey;
   	time (lower,upper);
run;
PROC SORT DATA = CaRunoffne2007; 
     BY Treatment Year;
title "Survival Analysis Calcium Runoff Test Years by Treatment";
proc iclifetest data=Work.CaRunoffne2007 method=EMICM plots=survival (failure) impute(seed=0);
	STRATA Treatment;
	test Year / Adjust=Tukey;
	time (lower,upper);
run;
title "Survival Analysis Calcium Runoff Test Treatments All Years";
proc iclifetest data=Work.CaRunoff method=EMICM plots=survival (failure) plots=logsurv
	impute(seed=0);
	test Treatment / Adjust=Tukey;
   	time (lower,upper);
run;
3 REPLIES 3
Gomer
Calcite | Level 5

Anything?  Anything at all?

Rick_SAS
SAS Super FREQ

I don't use ICLIFETEST, but the details of the adjustment tests are in the doc. Although the data themselves might not be normal, in many cases the sampling distribution of the test statistic is known asymptotically. For example, in the GLM/ANOVA situation, the asymptotic distribution of the difference of means is normal (the central limit theorem). I do not know the details for the models in ICLIFETEST. 

Gomer
Calcite | Level 5

Thanks, Rick.  Unfortunately, the explanation in the docs has a bit too much greek for me.  The thing with ICLFETEST is that it is using a combination of values and ranges (for censored values) to create a model CDF-like survival curve for each sample/group/treatment, and it is those modeled curves that are then compared.  So, my query about specifying a distribution is premised on the assumption that they are fitting a curve to my data with the assumption my data is distributed normally vs. lognormally, which would be more accurate.  There might be other options, like ICPHREG....

sas-innovate-2024.png

Don't miss out on SAS Innovate - Register now for the FREE Livestream!

Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.

 

Register now!

What is ANOVA?

ANOVA, or Analysis Of Variance, is used to compare the averages or means of two or more populations to better understand how they differ. Watch this tutorial for more.

Find more tutorials on the SAS Users YouTube channel.

Discussion stats
  • 3 replies
  • 1242 views
  • 0 likes
  • 2 in conversation