Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/79.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
使用TestMCARNormality测试MCAR_R_Missing Data_Imputation - Fatal编程技术网

使用TestMCARNormality测试MCAR

使用TestMCARNormality测试MCAR,r,missing-data,imputation,R,Missing Data,Imputation,我有一个DF(dfNA),它在每一列中都包含少量缺失的数据。这个数据帧是一个较大数据帧(wideRawDF)的子集,我想为它计算缺少的值 为了插补数据,我需要确定数据是否缺少MCAR/NMAR/MAR,以便应用正确的插补方法 colsNA是包含NA值的列的字符串,其派生形式如下: colsNA <- colnames(wideRawDF)[colSums(is.na(wideRawDF)) > 0] > str(colsNA) chr [1:9] "DO0182U09A3

我有一个DF(dfNA),它在每一列中都包含少量缺失的数据。这个数据帧是一个较大数据帧(wideRawDF)的子集,我想为它计算缺少的值

为了插补数据,我需要确定数据是否缺少MCAR/NMAR/MAR,以便应用正确的插补方法

colsNA是包含NA值的列的字符串,其派生形式如下:

colsNA <- colnames(wideRawDF)[colSums(is.na(wideRawDF)) > 0]

 > str(colsNA)
 chr [1:9] "DO0182U09A3" "DO0182U09B3" "DO0182U09C3" "DO0182U21A1" "DO0182U21A2" "DO0182U21A3" "DO0182U21B1" ...
dfNA <- wideRawDF[colsNA]
由于我的数据框中缺少值,我无法确定错误是指什么:

> apply(dfNA, 2, function(x) any(is.na(x)))
DO0182U09A3 DO0182U09B3 DO0182U09C3 DO0182U21A1 DO0182U21A2 DO0182U21A3 DO0182U21B1 DO0182U21B2 DO0182U21B3 
       TRUE        TRUE        TRUE        TRUE        TRUE        TRUE        TRUE        TRUE        TRUE
我的数据框中还包含数字数据:

> str(dfNA)
'data.frame':   1343 obs. of  9 variables:
 $ DO0182U09A3: num  -102 -101 -101 -101 -101 ...
 $ DO0182U09B3: num  -103.4 -102.8 -103.3 -95.9 -103 ...
 $ DO0182U09C3: num  -103.9 -104.2 -103.9 -99.2 -104.1 ...
 $ DO0182U21A1: num  -105 -105 -105 -104 -102 ...
 $ DO0182U21A2: num  -105 -104 -105 -105 -105 ...
 $ DO0182U21A3: num  -105 -105 -105 -105 -105 ...
 $ DO0182U21B1: num  -102 -103 -104 -104 -104 ...
 $ DO0182U21B2: num  -99.4 -102 -104 -101.4 -104.1 ...
 $ DO0182U21B3: num  -104 -104 -104 -104 -104 ...
我在谷歌上搜索了错误并找到了源代码,但我不是一个优秀的程序员,很难理解它。如果您能帮助我们弄清真相,我们将不胜感激

下面是我正在使用的文件的dput()输出

这是原始DF,其列包含缺失值和完整值

这是包含NA值的列的字符串


是列的子集DF,其中包含NA值

请提供@AlexW,请在原始帖子中找到两个变量(wideRawDF和colsNA)的dput副本。wideRawDF是原始CSV导入,而colsNA是具有NA值的列列表。我希望将wideRawDF的子集传递给TestMCARNormality以测试NA值。我希望这有道理。不,没有。这需要回答者做太多的工作。将您的数据子集,或创建合成数据,并用它来说明您的错误。。。您与源代码的链接提供了大量合成数据创建的示例。@AlexW抱歉,我没想到您会解决这个问题,我在上班途中忘了附加最终的子集数据。我本应该一进办公室就上传的,但我就忘了。@TheGoat嗨,我知道已经有一段时间了,但你有没有找到解决办法,我在这里遇到了完全相同的问题,请提供一个@AlexW请在原始帖子后附上一份适用于两个变量的dput副本,wideRawDF和colsNA。wideRawDF是原始CSV导入,而colsNA是具有NA值的列列表。我希望将wideRawDF的子集传递给TestMCARNormality以测试NA值。我希望这有道理。不,没有。这需要回答者做太多的工作。将您的数据子集,或创建合成数据,并用它来说明您的错误。。。您与源代码的链接提供了大量合成数据创建的示例。@AlexW抱歉,我没想到您会解决这个问题,我在上班途中忘了附加最终的子集数据。我本应该一进办公室就上传的,但我忘了。@TheGoat嗨,我知道已经有一段时间了,但是你有没有找到解决办法?我这里也有同样的问题
> str(dfNA)
'data.frame':   1343 obs. of  9 variables:
 $ DO0182U09A3: num  -102 -101 -101 -101 -101 ...
 $ DO0182U09B3: num  -103.4 -102.8 -103.3 -95.9 -103 ...
 $ DO0182U09C3: num  -103.9 -104.2 -103.9 -99.2 -104.1 ...
 $ DO0182U21A1: num  -105 -105 -105 -104 -102 ...
 $ DO0182U21A2: num  -105 -104 -105 -105 -105 ...
 $ DO0182U21A3: num  -105 -105 -105 -105 -105 ...
 $ DO0182U21B1: num  -102 -103 -104 -104 -104 ...
 $ DO0182U21B2: num  -99.4 -102 -104 -101.4 -104.1 ...
 $ DO0182U21B3: num  -104 -104 -104 -104 -104 ...