Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当变量数量较大时,调用MICE()后仍存在R MICE缺失数据_R_R Mice - Fatal编程技术网

当变量数量较大时,调用MICE()后仍存在R MICE缺失数据

当变量数量较大时,调用MICE()后仍存在R MICE缺失数据,r,r-mice,R,R Mice,我不确定这背后的原因是什么 我有一个包含107个变量的数据集(混合了数字和因子数据类型),其中一些包含缺少的值。我用老鼠来估算数据 小鼠输入了大部分变量的数据。然而,有些变量根本不需要插补 非常奇怪的是,虽然有些变量被成功插补,但有些变量却没有。我还试着只在没有成功插补的变量上运行老鼠,这一次,它成功了 这背后的原因是什么?它是否与我的数据集中变量的数量有关?我如何解决这个问题,还是需要为每个变量分别运行鼠标 非常感谢, 我现在给出代码来复制我的意思 > #create data set

我不确定这背后的原因是什么

我有一个包含107个变量的数据集(混合了数字和因子数据类型),其中一些包含缺少的值。我用老鼠来估算数据

小鼠输入了大部分变量的数据。然而,有些变量根本不需要插补

非常奇怪的是,虽然有些变量被成功插补,但有些变量却没有。我还试着只在没有成功插补的变量上运行老鼠,这一次,它成功了


这背后的原因是什么?它是否与我的数据集中变量的数量有关?我如何解决这个问题,还是需要为每个变量分别运行鼠标

非常感谢,

我现在给出代码来复制我的意思

> #create data set with NAs
> iris.fake = prodNA(iris, noNA = 0.9)
> iris.fake.miss <- aggr(iris.fake)
> iris.fake.miss$missings
             Variable Count
Sepal.Length Sepal.Length   138
Sepal.Width   Sepal.Width   137
Petal.Length Petal.Length   138
Petal.Width   Petal.Width   131
Species           Species   131
> 
> #run mice
> imp = mice(iris.fake, m = 5, maxit = 5)
iter imp variable
1   1  Sepal.Width  Petal.Length  Petal.Width  Species
1   2  Sepal.Width  Petal.Length  Petal.Width  Species
1   3  Sepal.Width  Petal.Length  Petal.Width  Species
1   4  Sepal.Width  Petal.Length  Petal.Width  Species
1   5  Sepal.Width  Petal.Length  Petal.Width  Species
2   1  Sepal.Width  Petal.Length  Petal.Width  Species
2   2  Sepal.Width  Petal.Length  Petal.Width  Species
2   3  Sepal.Width  Petal.Length  Petal.Width  Species
2   4  Sepal.Width  Petal.Length  Petal.Width  Species
2   5  Sepal.Width  Petal.Length  Petal.Width  Species
3   1  Sepal.Width  Petal.Length  Petal.Width  Species
3   2  Sepal.Width  Petal.Length  Petal.Width  Species
3   3  Sepal.Width  Petal.Length  Petal.Width  Species
3   4  Sepal.Width  Petal.Length  Petal.Width  Species
3   5  Sepal.Width  Petal.Length  Petal.Width  Species
4   1  Sepal.Width  Petal.Length  Petal.Width  Species
4   2  Sepal.Width  Petal.Length  Petal.Width  Species
4   3  Sepal.Width  Petal.Length  Petal.Width  Species
4   4  Sepal.Width  Petal.Length  Petal.Width  Species
4   5  Sepal.Width  Petal.Length  Petal.Width  Species
5   1  Sepal.Width  Petal.Length  Petal.Width  Species
5   2  Sepal.Width  Petal.Length  Petal.Width  Species
5   3  Sepal.Width  Petal.Length  Petal.Width  Species
5   4  Sepal.Width  Petal.Length  Petal.Width  Species
5   5  Sepal.Width  Petal.Length  Petal.Width  Species
> summary(imp)
Multiply imputed data set
Call:
mice(data = iris.fake, m = 5, maxit = 5)
Number of multiple imputations:  5
Missing cells per column:
Sepal.Length  Sepal.Width Petal.Length  Petal.Width      Species 
138          137          138          131          131 
Imputation methods:
Sepal.Length  Sepal.Width Petal.Length  Petal.Width      Species 
"pmm"        "pmm"        "pmm"        "pmm"    "polyreg" 
VisitSequence:
Sepal.Width Petal.Length  Petal.Width      Species 
 2            3            4            5 
PredictorMatrix:
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
Sepal.Length            0           0            0           0       0
Sepal.Width             0           0            1           1       1
Petal.Length            0           1            0           1       1
Petal.Width             0           1            1           0       1
Species                 0           1            1           1       0
Random generator seed value:  NA 
> 
> com = complete(imp,2)
> iris.imp.miss <- aggr(com)
> iris.imp.miss$missings
Variable Count
Sepal.Length Sepal.Length   138
Sepal.Width   Sepal.Width     0
Petal.Length Petal.Length     0
Petal.Width   Petal.Width     0
Species           Species     0
#使用NAs创建数据集
>iris.fake=prodNA(iris,noNA=0.9)
>艾瑞丝,假,艾瑞丝小姐,假,小姐$missings
可变计数
萼片长萼片长138
萼片宽萼片宽137
花瓣。长度花瓣。长度138
花瓣。宽花瓣。宽131
物种131
> 
>#跑老鼠
>imp=小鼠(iris.fake,m=5,maxit=5)
iter imp变量
萼片。宽花瓣。长花瓣。宽种
12萼片。宽花瓣。长花瓣。宽种
13萼片。宽花瓣。长花瓣。宽种
萼片。宽花瓣。长花瓣。宽种
萼片。宽花瓣。长花瓣。宽种
萼片。宽花瓣。长花瓣。宽种
2萼片。宽花瓣。长花瓣。宽种
萼片。宽花瓣。长花瓣。宽种
萼片。宽花瓣。长花瓣。宽种
萼片。宽花瓣。长花瓣。宽种
3 1萼片。宽花瓣。长花瓣。宽种
萼片。宽花瓣。长花瓣。宽种
萼片。宽花瓣。长花瓣。宽种
萼片。宽花瓣。长花瓣。宽种
萼片。宽花瓣。长花瓣。宽种
4 1萼片。宽花瓣。长花瓣。宽种
萼片。宽花瓣。长花瓣。宽种
萼片。宽花瓣。长花瓣。宽种
萼片。宽花瓣。长花瓣。宽种
萼片。宽花瓣。长花瓣。宽种
5 1萼片。宽花瓣。长花瓣。宽种
5 2萼片。宽花瓣。长花瓣。宽种
5 3萼片。宽花瓣。长花瓣。宽种
萼片。宽花瓣。长花瓣。宽种
5萼片。宽花瓣。长花瓣。宽种
>摘要(imp)
多重插补数据集
电话:
小鼠(数据=iris.fake,m=5,maxit=5)
多重插补数:5
每列缺少单元格:
萼片。长萼片。宽花瓣。长花瓣。宽种
138          137          138          131          131 
插补方法:
萼片。长萼片。宽花瓣。长花瓣。宽种
“pmm”“pmm”“pmm”“pmm”“polyreg”
访问顺序:
萼片。宽花瓣。长花瓣。宽种
2            3            4            5 
预测矩阵:
萼片。长萼片。宽花瓣。长花瓣。宽种
萼片长度0
萼片宽0 0 1 1
花瓣长度0 1 0 1 1
花瓣宽度0 1 0 1
物种0110
随机生成器种子值:NA
> 
>com=完成(imp,2)
>iris.imp.miss iris.imp.miss$missings
可变计数
萼片长萼片长138
萼片宽萼片宽0
花瓣。长度花瓣。长度0
花瓣。花瓣宽度。花瓣宽度0
物种0

“我是否需要为每个变量分别运行鼠标”没有意义,因为算法应该如何输入值?插补中应包括所有变量。然而,你可以尝试另一种插补方法。你能提供一些复制这个问题的样本数据吗?此外,您可能希望查看用于插补的预测矩阵,因为其中很可能有一个空列导致此问题。我回答了一个类似的问题,尽管这个问题似乎与你的略有不同。(还有,为什么要指定
method=pmm
?该函数会自动确定要使用的最佳方法,通常不是pmm。)我刚刚编辑了我的文章以显示示例数据。我尝试了method=“mean”,结果甚至比pmm更糟糕。没有插补更多的变量。如果我没有指定方法,我会得到一个错误“nnet中的错误。默认值(X,Y,w,mask=mask,size=0,skip=TRUE,softmax=TRUE,:权重过多(6513)”。如果我使用MissForest,我不会有任何问题。@Laterow.Roland。是的,我认为它应该可以处理任意数量的变量。您共享的输出有点混乱。您显示了一些数据集
Raw
,在
Raw
上进行插补,并且似乎没有查看
插补数据的输出这只是一个输入错误。我在这里发布时有点更改了变量名。我编辑以显示输入的数据。“我需要为每个变量分别运行鼠标吗?”没有意义,因为算法应该如何插补值?插补中应该包括所有变量。但是,您可以尝试不同的插补方法。您可以提供一些复制此问题的样本数据吗?此外,您可能需要查看用于插补的预测矩阵,因为可能会有我回答了一个类似的问题,尽管这个问题似乎与你的问题略有不同。(另外,为什么要指定
method=pmm
?函数会自动确定要使用的最佳方法,通常不是pmm。)