0

我有两个向量(A 和 B),其中包含 36 个主题的分类数据。A_i,j 是 categorytype1 j,主题 i 适合,B_i,k 是主题 i 的 categorytype2 k。i=1:36, j=1:5 和 k=1:6。

library(mlogit)
AB <- read.csv("C:/.../AB.csv")
head(AB)
   Subject     A     B 
 1       1     1     3 
 2       2     3     3 
 3       3     1     6 
 4       4     1     3 
 5       5     1     2 
 6       6     1     4 

我想找到每个类别组合的概率。因此,对于所有 j=1:5 和 k=1:6,受试者有什么机会选择类别 j和k。

我被告知 probit/logit 模型是解决这个问题的好工具,我尝试在 R 中估计它。

mldata<-mlogit.data(AB, choice="A", alt.var="B", shape="long", id.var = "Subject")

给我一个错误,我找不到我的错误。

Error in `row.names<-.data.frame`(`*tmp*`, value = c("1.3", "1.3", "1.6",  : 
duplicate 'row.names' are not allowed
In addition: Warning message:
non-unique values when setting 'row.names': ‘1.3’, ‘2.2’, ‘2.3’, ‘3.1’,‘3.5’,‘4.2’,‘4.3’, ‘5.3’, ‘5.4’, ‘6.5’, ‘7.3’, ‘8.2’, ‘8.3’

我尝试查看帮助文件,但对我帮助不大。

我希望有人能指出我正在犯的错误。

非常感谢您的帮助。

4

1 回答 1

0

发布 dput(A) 和 dput(b) 的输出,并指定前几个答案应该是什么。. 看起来您希望 rowSums(.)/6 对这两个矩阵进行一些逻辑运算。大概:

 rowSums(A==B)/6
于 2014-05-27T23:30:13.520 回答