我使用包support.CEs设计了一个CE实验。我生成了一个具有3个属性的CE设计,每个属性有4个级别。调查问卷有4个备选方案和4个方块
des1 <- rotation.design(attribute.names = list(
Qualitat = c("Aigua potable", "Cosetes.blanques.flotant", "Aigua.pou", "Aigua.marro"),
Disponibilitat.acces = c("Aixeta.24h", "Aixeta.10h", "Diposit.comunitari", "Pou.a.20"),
Preu = c("No.problemes.€", "Esforç.economic", "No.pagues.acces", "No.pagues.no.acces")),
nalternatives = 4, nblocks = 4, row.renames = FALSE,
randomize = TRUE, seed = 987)
调查问卷由15人(ID 1-15)回复,因此有60个产出(每4个街区响应15人:
ID BLOCK q1 q2 q3 q4
1 1 1 1 2 3 3
2 1 2 1 3 3 4
3 1 3 5 1 3 5
4 1 4 5 2 2 5
5 2 1 1 2 4 3
6 2 2 1 4 3 4
7 2 3 3 1 3 2
8 2 4 1 2 2 2
9 3 1 1 2 2 2
10 3 2 1 4 3 4
11 3 3 3 1 3 4
12 3 4 3 2 1 4
13 4 1 1 5 4 3
14 4 2 1 4 5 4
15 4 3 5 5 3 2
16 4 4 5 2 5 5
17 5 1 1 2 4 2
18 5 2 3 2 3 2
19 5 3 3 1 3 4
20 5 4 3 2 1 4
21 6 1 1 5 5 5
22 6 2 1 3 3 4
23 6 3 3 1 3 4
24 6 4 1 2 2 2
25 7 1 1 2 4 3
26 7 2 4 2 3 4
27 7 3 3 1 3 3
28 7 4 3 4 5 5
29 8 1 1 3 2 3
30 8 2 1 4 3 4
31 8 3 3 1 3 4
32 8 4 1 2 2 1
33 9 1 1 2 3 3
34 9 2 1 3 3 4
35 9 3 5 1 3 5
36 9 4 5 2 2 5
37 15 1 1 5 5 5
38 15 2 4 4 5 4
39 15 3 5 5 3 5
40 15 4 4 3 5 5
41 11 1 1 5 5 5
42 11 2 4 4 5 4
43 11 3 5 5 3 5
44 11 4 5 3 5 5
45 12 1 1 2 4 3
46 12 2 4 2 3 4
47 12 3 3 1 3 3
48 12 4 3 4 5 5
49 13 1 1 2 2 2
50 13 2 1 4 3 4
51 13 3 3 1 3 2
52 13 4 1 2 2 2
53 14 1 1 1 3 3
54 14 2 1 4 1 4
55 14 3 4 1 3 2
56 14 4 3 2 1 2
57 15 1 1 1 3 2
58 15 2 5 2 1 4
59 15 3 4 4 3 1
60 15 4 3 4 1 4
问题在于,当我将问题和答案矩阵与公式
合并时dataset1 <- make.dataset(respondent.dataset = res1,
choice.indicators = c("q1","q2","q3","q4"),
design.matrix = desmat1)
R显示一条警告信息:在钳工中(X,Y,strats,offset,init,control,weights = weights,: 离开迭代并且没有收敛
我应该期望生成的矩阵desmat1有4800个观测值(80种可能的组合和60种输出)。而不是我只有1200个观察。矩阵数据集1仅显示1组备选方案的组合,而不是4组。
例如,对于ID 1,块1,问题1仅显示替代1.它与人选择的答案匹配,但在其他情况下它不匹配,并且该信息在R中丢失,因此结果当clogit被应用时是错误的。
我希望能够理解这些问题。 的问候,
版:
我发现了我的问题。当我使用.csv格式生成的respondent.dataset生成数据集时,r仅检测q1响应而不是q1-q4。数据集1
dataset1 <- make.dataset(respondent.dataset = res1,
choice.indicators = c("q1","q2","q3","q4"),
design.matrix = desmat1)
将q1-q4检测为新列。但关键是q1-q4必须填充dataset1中的列QES。我在使用1个块之前做了另一个CE,并且正确地完成了一个读取respondant.dataset的数据集。所以关键的一点是,现在我使用了4个块,但我不知道如何让R解释q1-q4是每个块的QUES列。
res1矩阵(repondant.dataset)(完整的matriz有60行= 15个响应者(ID 1-15)* 4个问题(make.dataset中的QES列)enter image description here
亲切的反复,