首页 > 解决方案 > 无法使用 imputeMCA 获取完整的数据集

问题描述

我使用missMDA 包来填充多个分类列。但是,我无法从这两个函数中得到任何结果:estim_ncpMCA(test_fill) 和 imputeMCA(test_fill)。程序继续运行,没有任何进度条或结果弹出。

这是数据集中的样本。

Hybrid  G1  G5  G8  G9  G10
P1000:P2030 0   -1  0   1   0
P1006:P1384 0   0   0   0   1
P1006:P1401 0   NA  NA  NA  1
P1006:P1412 0   0   0   0   1
P1006:P1594 0   0   0   0   1
P1013:P1517 0   0   0   0   1

我正在研究 R 中的一个基因项目。在这个数据集中,有 497 行和 11,226 列。每一行都是特定杂交种的遗传标记系列,每一列都是具有值 1、0、-1 和 NA 的遗传标记(“G1”、“G2”等)。总共有 746,433 个缺失值,我正在尝试通过 imputeMCA 填充缺失值。

在运行 imputeMCA 之前,我还对 test_fill 进行了一些转换。

test_fill = as.matrix(test_fill)
test_fill[, -1] <- lapply(test_fill[, -1], as.numeric)

我想知道这是否是我的数据集中列太多的结果。我需要转置我的列和行吗?

标签: rimputation

解决方案


我不知道你是否找到了答案,但我认为你的函数没有运行是因为你的第一列,这似乎是个人的标签。您可以指定不应将其纳入分析。

estim_ncpMCA(test_fill[,2:11226], ncp.max = 5) 
imputeMCA(test_fill[,2:11226], ncp = X)

我希望这会有所帮助。


推荐阅读