【问题标题】:DifR : Error in rowSums(data, na.rm = TRUE) : 'x' must be an array of at least two dimensionsDifR:rowSums 中的错误(数据,na.rm = TRUE):“x”必须是至少二维的数组
【发布时间】:2019-01-28 09:38:40
【问题描述】:

我正在使用difR 对 3 个组进行差异项功能分析。

这是我的代码:

res<-difGenLord(Mat,group="Group",focal.names="2,3",nrFocal=2,model="1PL")
    Error in rowSums(data, na.rm = TRUE) : 
    'x' must be an array of at least two dimensions

我不明白,因为:

is.array(Mat)
[1] TRUE
> dim(Mat)
[1] 145 111

我必须从根本上理解这其中的一些错误......有人可以启发我吗?提前致谢

ps:回溯看起来像这样:

> traceback()
9: stop("'x' must be an array of at least two dimensions")
8: rowSums(data, na.rm = TRUE)
7: as.vector(rowSums(data, na.rm = TRUE))
6: start.val.rasch(start.val, X)
5: rasch(data, constraint = const)
4: itemPar1PL(data, engine = engine, discr = discr)
3: itemParEst(d0, model = "1PL", engine = engine, discr = discr)
2: internalGLord()
1: difGenLord(Mat, group = "Group", focal.names = "1,3", nrFocal = 2, 
       model = "1PL")

我知道已经报告了类似的错误,但给出的解决方案对我没有帮助。

【问题讨论】:

  • 显示str(Mat)
  • 请发布一个可重现的小例子
  • 您可能需要检查?difGenLord 中的示例及其数据结构
  • @Adamm str(Mat) num [1:145, 1:111] 1 1 1 1 1 1 1 1 1 1 ... - attr(*, "dimnames")=List of 2 ..$ : NULL ..$ : chr [1:111] "Group" "Rose" "Untertasse" "Geweih" ...
  • 确实如 akrun 所说,与此函数的默认输入相比,您的数据(维度)有问题。

标签: r


【解决方案1】:

我认为您没有正确指定“focal.names”。试试:

res<-difGenLord(Mat,group="Group",focal.names=c(2,3), model="1PL")    

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-12-19
    • 2021-10-03
    • 2019-10-04
    • 2018-12-14
    • 2018-02-28
    • 2018-01-17
    • 2023-03-28
    • 1970-01-01
    相关资源
    最近更新 更多