Page 1 of 1

Avoiding duplicates of one attribute in a row

PostPosted: Tue Feb 26, 2013 8:07 pm
by mires
Hi all,


Sorry for abusing your time with all my questions. But I'm finding that Ngene is offering a great flexibility.. And I want to be sure to be able to run correctly some designs..
I found that my DoE is a nested one, and I'm supposing that the nest is based on one attribute .. And I would like like to build a sub - DoE, avoiding replication of this attribute in a choice situation..

I came out with this syntax: Attrib1 is the attribute concerned by the nest..
Design
;alts = alt1*, alt2*, alt3*, alt4*, none
;rows = 36
;eff = (mnl,d)
;cond:
if(alt1.attrb1 = 8, alt1.attrb3 = [0,1]),
if(alt2.attrb1 = 8, alt2.attrb3 = [0,1]),
if(alt3.attrb1 = 8, alt3.attrb3 = [0,1]),
if(alt4.attrb1 = 8, alt4.attrb3 = [0,1])
;model:
U(alt1) = a1.dummy[0|0|0|0|0] * attrb1[1,2,3,4,7,8] + b1.dummy[0|0|0|0] * attrb2[1,2,3,4,5] + c1.dummy[0|0|0] * attrb3[0,1,2,3] + d1.dummy[0|0|0|0] * attrb4[0,1,2,3,4]
+ e1.dummy[0|0|0|0] * attrb5[0,1,2,3,4] + f1.dummy[0|0|0|0] * attrb6[0,1,2,3,4] + j1.dummy[0|0|0] * attrb7[0,1,2,3]
+ coef1 * attrb8[0:1] + coef2 * attrb9[1,1.15,1.2,1.3,1.4,1.5] /
U(alt2) = a1 * attrb1 + b1 * attrb2 + c1 * attrb3 + d1 * attrb4 + e1 * attrb5 + f1 * attrb6 + j1 * attrb7 + coef1 * attrb8 + coef2 * attrb9 /
U(alt3) = a1 * attrb1 + b1 * attrb2 + c1 * attrb3 + d1 * attrb4 + e1 * attrb5 + f1 * attrb6 + j1 * attrb7 + coef1 * attrb8 + coef2 * attrb9 /
U(alt4) = a1 * attrb1 + b1 * attrb2 + c1 * attrb3 + d1 * attrb4 + e1 * attrb5 + f1 * attrb6 + j1 * attrb7 + coef1 * attrb8 + coef2 * attrb9 $


I tried to avoid replications by putting conditions that Attrib1 should have descending order over Alternatives
if(alt1.attrib1 = 2, alt2.attr1=[3,4]),
..
if(alt2.attrib1 = 4, alt2.attr3=7),
..
if(alt3.attrib1 = 7,alt4.attrb1 = 8)
I got the message that some levels of attribute can't be placed..
I tried using the rejections with mfederov alg (alt1.attrb1 = alt2.attrb1), I got the message that the number of rows is higher that the ful factorial (0 rows)

I don't know how to manage this.. Thanks for your insights
Naji

Re: Avoiding duplicates of one attribute in a row

PostPosted: Thu Feb 28, 2013 6:37 pm
by Michiel Bliemer
You could try something like:

;require:
alt1.attrb1 < alt2.attrb2 and alt2.attrb2 < alt3.attrb3 and alt3.attrb3 < alt4.attrb4, ? this would make sure all attrb1's are different
alt1.attrb1 +alt1.attrb1 + alt1.attrb3 <= 17 ? this would make sure that when attrb1 is 8, attrb3 = [0,1] and when attrb1 is 7 or lower, attrb3 = [0,1,2,3].

You cannot mix ;cond and ;require (or ;reject).

Michiel