BookmarkSubscribeRSS Feed
rooshabhkumar
Calcite | Level 5

Hello

  From past few days I am dealing with skincare data which i have also given in datelines. First Data consists ‘16’ skincare products over ‘5’ categorical variables; second data shows the preferences of six persons for these 16 skincare products. Order of preferences is monotonic, when small data values mean high preference. I applied non-metric conjoint analysis technique, i got 'SAS-output' which are totally different than what I got from other software. I suspect something is wrong in syntax/sas codes, i have written. Please give me suggestion.

title 'Nonmetric Conjoint Analysis of skin-care ';

proc format;

value FragranceF

1 = 'Masculine'

2 = 'Mild     '

3 = 'None     ';

value PackingF

1 = 'Jar   '

2 = 'Tube  '

3 = 'Bottle';

value AddedfeatureF

1 = 'Fairness '

2 = 'Antiaging'

3 = 'Medicated';

value PriceF

1 = 'Less than 100Rs '

2 = '100 RS to 200 Rs'

3 = 'Morethan 300 Rs ';

Value TextureF

1 = 'Cream '

2 = 'Gel   '

3 = 'Lotion';

run;

data skincare;

input Fragrance Packing Addedfeature Price Texture;

format Fragrance FragranceF9. Packing PackingF6. Addedfeature AddedfeatureF9. Price PriceF15. Texture TextureF5. ;

datalines;

2 2 2 2 1

2 1 3 1 3

1 2 3 1 2

3 3 3 3 1

1 1 1 1 1

1 1 2 3 1

3 1 2 1 3

1 3 1 2 3

1 3 2 1 2

2 3 1 1 1

3 1 1 2 2

2 1 1 3 2

1 1 3 2 1

3 2 1 1 1

1 1 1 1 1

1 2 1 3 3

;

run;

title 'Skincare data entry';

data Results;

input sub01 sub02 sub03 sub04 sub05 sub06 ;

datalines;

05 02 13 05 11 01

04 14 04 08 01 16

12 08 16 01 07 02

03 10 15 07 02 13

09 07 05 06 12 15

13 12 14 10 10 14

08 13 02 09 09 12

11 15 03 16 08 11

10 05 11 04 13 10

01 03 06 11 14 09

02 04 12 03 15 06

14 11 07 02 16 07

06 09 09 13 06 05

16 01 08 12 05 08

07 06 10 14 03 04

15 16 01 15 04 03

;

run;

title " Merge both data";

data Both;

merge work.skincare Results;

run;

proc print;

title 'Data Set for Conjoint Analysis';

run;

title 'skincare Study, Individual Conjoint Analyses';

proc transreg data=Both maxiter=330 utilities short outtest=Utils separators=' ';

ods select TestsNote ConvergenceStatus FitStatistics Utilities;

model monotone(sub01 sub02 sub03 sub04 sub05 sub06/ reflect ) = class(Fragrance Packing Addedfeature Price Texture / zero=sum);

output ireplace predicted;

run;

proc print label;

      var Rank TRank PRank Fragrance Packing Addedfeature Price Texture;

      label PRank = 'Predicted Ranks';

   run;

data Importance;

      set Utils(keep=_depvar_ Importance Label);

      if n(Importance);

      label = substr(label, 1, index(label, ' '));

   run;

proc transpose data=work.importance out=Importance2(drop=_:);

      by _depvar_;

      id Label;

   run;

proc print;

      title2 'Importance Values';

   run;

proc means;

      title2 'Average Importance';

   run;

   data Utilities;

      set Utils(keep=_depvar_ Coefficient Label);

      if n(Coefficient);

   run;

proc transpose data=work.utilities out=Utilities2(drop=_:);

      by _depvar_;

      id Label;

      idlabel Label;

   run;

proc print label;

      title2 'Utilities';

   run;

2 REPLIES 2
Olah
Calcite | Level 5

Hello Roosh,

I was wondering if you got someone to help or figured this out after all.

You can let me know by posting the solution you came up with.

Thank you.

Best,

Al

SteveDenham
Jade | Level 19

Without knowing what is expected in the output, it is difficult to suggest changes in options, etc. that might help.  I copied the code, and it ran without problems.  The output looks OK to me.

Steve Denham

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
  • 2 replies
  • 1441 views
  • 0 likes
  • 3 in conversation