我正在尝试运行Amelia,使用以下代码在几个变量上估算一些缺失的数据:
set.seed(1)
zz [,c(“id”,“性别”,“团队”,“minsSocial”,“satisTravail”,“表现”)] Amelia::amelia(zz [,c(“id”,“sex”,“team”,“minsSocial”,“satisTravail”,“performance”)]],
m = 1,idvars =“id”,noms = c(“sex”,“team”))$ imputations $ imp1
不幸的是,我收到此错误消息:
Erreur:下标AMr1.orig是一个矩阵,数据x.imp[, -possibleFactors][AMr1.orig]的大小必须为1。
关于问题所在以及如何解决的任何疑难解答?是因为我的数据包含小于1的值吗?
谢谢!

最佳答案

我认为这可能是由于最近对小错误处理的一些更改。如果将数据转换为data.frame(假设zz是小标题),则错误应该消失(这对我有用)。

zz <- as.data.frame(zz)
虽然不确定错误消息背后的原因。我从rlang::last_error()收到类似的错误消息,并且该代码可用于早期版本的软件包。
<error/tibble_error_subset_matrix_must_be_scalar>
Subscript `AMr1.orig` is a matrix, the data `x.imp[AMr1.orig]` must have size 1.
Backtrace:
 1. Amelia::amelia(...)
 2. Amelia::amelia.default(...)
 3. base::lapply(seq_len(m), do.amelia)
 4. Amelia:::FUN(X[[i]], ...)
 5. Amelia:::impfill(...)
 7. tibble:::`[<-.tbl_df`(...)
 8. tibble:::tbl_subassign_matrix(x, j, value, j_arg, substitute(value))

关于error-handling - 如何修复Erreur : Subscript `AMr1.orig` is a matrix, the data `x.imp[, -possibleFactors][AMr1.orig]` must have size 1,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/64056125/

10-11 16:51