标签: missing-data

如何在R中的回归中处理残差中的NA?

所以我在R NA中的lm横截面回归的残差中遇到了一些问题.

问题本身不是NA价值观,而是R呈现它们的方式.

例如:

test$residuals
#          1          2          4          5 
#  0.2757677 -0.5772193 -5.3061303  4.5102816 
test$residuals[3]
#        4 
# -5.30613 
Run Code Online (Sandbox Code Playgroud)

在这个简单的例子中,一个NA值会使其中一个残差丢失.当我提取残差时,我可以清楚地看到第三个索引丢失.到目前为止这么好,这里没有抱怨.问题是相应的数字向量现在是一个较短的项目,所以第三个索引实际上是第四个.我怎样才能让R返回这些残差,即明确显示NA而不是跳过索引?

test$residuals
#          1          2          3          4          5 
#  0.2757677 -0.5772193         NA -5.3061303  4.5102816
Run Code Online (Sandbox Code Playgroud)

我需要跟踪所有个体残差,这样如果我能用这种方式提取它们会让我的生活更轻松.

regression r missing-data

9
推荐指数
2
解决办法
9424
查看次数

R:用向量中的项替换NA

我试图用我的数据中的一些缺失值替换来自类似组的平均值.

我的数据如下:

   X   Y
1  x   y
2  x   y
3  NA  y
4  x   y
Run Code Online (Sandbox Code Playgroud)

我希望它看起来像这样:

  X   Y
1  x   y
2  x   y
3  y   y
4  x   y
Run Code Online (Sandbox Code Playgroud)

我写了这个,它有效

for(i in 1:nrow(data.frame){
   if( is.na(data.frame$X[i]) == TRUE){
       data.frame$X[i] <- data.frame$Y[i]
   }
  }
Run Code Online (Sandbox Code Playgroud)

但是我的data.frame几乎有五十万行,而for/if语句非常慢.我想要的是类似的东西

is.na(data.frame$X) <- data.frame$Y
Run Code Online (Sandbox Code Playgroud)

但这会导致不匹配的大小错误.似乎应该有一个命令来执行此操作,但我无法在SO或R帮助列表中找到它.有任何想法吗?

replace r missing-data imputation

8
推荐指数
2
解决办法
1万
查看次数

自动加入Highcharts JS中缺少的数据空白

我目前正在寻求将Highcharts JS应用到我的应用程序中,使用月份作为x轴类别.

但是,我的数据存在差距,并希望图表能够自动连接差距.

例如,如果我没有3月的任何数据,我希望2月和4月用线性线连接.

使用highcharts演示,我编辑了数据以演示默认情况下当前发生的情况:

http://jsfiddle.net/kf26t/1/

data: [7.0, 10.0, null, 14.5, 18.2, 21.5, 25.2, 26.5, 23.3, 18.3, 13.9, 9.6]
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,2月到4月之间有一个突破.

我已经考虑过删除没有类别数据的月份,但是这会产生偏差的结果,因为2月和4月将在4月和5月之间相等的距离,这将无法给出准确的表示.

如果我要删除4个月,这个不准确的表示被夸大了:

http://jsfiddle.net/kf26t/2/

categories: ['Jan', 'Feb', 
                    'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
Run Code Online (Sandbox Code Playgroud)

我能想到的唯一解决方案是计算月份之间的平均值,但我不希望显示平均值.

在Highchart JS中是否有任何内置的填补这些空白的方法?如果没有,是否有一个更简洁的解决方案,我建议?


或者,有没有一种基于值分离x轴的方法?因此,如果没有3月份,则2月和4月会出现2个月的距离.

当整数是x轴时,这也很有用.例如,如果我有"1,2,10",我不希望这些均匀分布.

javascript missing-data highcharts

8
推荐指数
2
解决办法
7634
查看次数

R包插入符号混乱矩阵缺少类别

我使用的功能confusionMatrix[Rcaret来计算一些数据我有一些统计数字.我一直把我的预测以及我的实际值放到函数中,以便tableconfusionMatrix函数中使用表格,如下所示:

table(predicted,actual)
Run Code Online (Sandbox Code Playgroud)

但是,有多种可能的结果(例如A,B,C,D),我的预测并不总是代表所有可能性(例如只有A,B,D).table函数的结果输出不包括缺少的结果,如下所示:

    A    B    C    D
A  n1   n2   n2   n4  
B  n5   n6   n7   n8  
D  n9  n10  n11  n12
# Note how there is no corresponding row for `C`.
Run Code Online (Sandbox Code Playgroud)

confusionMatrix函数无法处理缺失的结果并给出错误:

Error in !all.equal(nrow(data), ncol(data)) : invalid argument type
Run Code Online (Sandbox Code Playgroud)

有没有一种方法可以使用table不同的函数来获取缺少的零行或使用confusionMatrix不同的函数,以便将缺失的结果视为零?

作为注释:由于我随机选择要测试的数据,有时候实际结果中也没有表示类别,而只是预测.我不相信这会改变解决方案.

r missing-data confusion-matrix r-caret

8
推荐指数
2
解决办法
2万
查看次数

用R中的日期中位数数据

我需要将字段"步骤"中的缺失值替换为在特定日期(按"日期"分组)计算的"步数"的中位数,并删除NA值.我已经提到了这个帖子,但我的NA值没有被替换.有人可以帮我找出我错在哪里吗?我更喜欢使用base package/data table/plyr.数据集看起来很近.像这样:-

        steps      date interval
    1:    NA 2012-10-01        0
    2:    NA 2012-10-01        5
    3:    NA 2012-10-01       10
    4:    NA 2012-10-01       15
    5:    NA 2012-10-01       20
   ---                          
17564:    NA 2012-11-30     2335
17565:    NA 2012-11-30     2340
17566:    NA 2012-11-30     2345
17567:    NA 2012-11-30     2350
17568:    NA 2012-11-30     2355
Run Code Online (Sandbox Code Playgroud)

数据集(活动)的结构和摘要如下所示

 #str(activity)  
 Classes ‘data.table’ and 'data.frame': 17568 obs. of  3 variables:
     $ steps   : int  NA NA NA NA NA NA NA NA NA NA ...
     $ date    : Date, format: …
Run Code Online (Sandbox Code Playgroud)

r median missing-data plyr

8
推荐指数
1
解决办法
835
查看次数

当某些部分为空白时,如何转换日期或日期时间字段; na.omit失败了

我有一个数据集,其中包含进出日期和时间.每行都是进出设置,但有些是空白的.我可以用na.omit和一个很好的读取删除空白(这是一个csv,并na.strings=c("")在其上工作read.csv).

当然,因为现实世界永远不像教程,有些时候只是日期,所以我as.POSIXlt(Dataset$In,format="%m/%d/%Y %H:%M")在"唯一的日期没有时间"返回NA.

na.omit不会删除这些行.所以问题是2

  1. 为什么na.omit不工作,或者我怎样才能让它工作?

  2. 更好,如何在没有2次调用或格式字符串中使用某种可选参数的情况下将一列转换为日期和时间(以posix格式)?(或者这甚至可能?).

这是日期和时间的样本.我不能分享真实的文件,1它是巨大的,2它是PII.

Id,In,Out
1,8/15/2015 8:00,8/15/2015 17:00
1,8/16/2015 8:04,8/16/2015
1,8/17/2015 8:50,8/17/2015 18:00
1,8/18/2015,8/18/2015 17:00
2,8/15/2015,8/15/2015 13:00
2,8/16/2015 8:00,8/16/2015 17:00
3,8/15/2015 4:00,8/15/2015 11:00
3,8/16/2015 9:00,8/16/2015 19:00
3,8/17/2015,8/17/2015 17:00
3,,
4,,
4,8/16/2015 6:00,8/16/2015 20:00
Run Code Online (Sandbox Code Playgroud)

datetime r missing-data posixct na

8
推荐指数
1
解决办法
845
查看次数

将Null更改为NA的函数

我正在尝试编写一个将Null值变为NA的函数.我的一个专栏的摘要如下所示:

      a   b 
 12 210 468 
Run Code Online (Sandbox Code Playgroud)

我想将12个空值更改为NA.我还有一些其他因素列,我想将Null值更改为NA,所以我从这里和那里借了一些东西来提出这个:

# change nulls to NAs
nullToNA <- function(df){

  # split df into numeric & non-numeric functions
  a<-df[,sapply(df, is.numeric), drop = FALSE]
  b<-df[,sapply(df, Negate(is.numeric)), drop = FALSE]

  # Change empty strings to NA
  b<-b[lapply(b,function(x) levels(x) <- c(levels(x), NA) ),] # add NA level
  b<-b[lapply(b,function(x) x[x=="",]<- NA),]                 # change Null to NA

  # Put the columns back together
  d<-cbind(a,b)
  d[, names(df)]
}
Run Code Online (Sandbox Code Playgroud)

但是,我收到此错误:

> foo<-nullToNA(bar)  
Error in x[x == "", ] <- NA : incorrect …
Run Code Online (Sandbox Code Playgroud)

r function missing-data na

8
推荐指数
1
解决办法
2万
查看次数

MCAR Little 在 Python 中的测试

我如何执行 Little's Test,以在 Python 中找到 MCAR?我已经查看了 R 包进行相同的测试,但我想在 Python 中进行。是否有其他方法来测试 MCAR?

statistics missing-data python-3.x hypothesis-test imputation

8
推荐指数
1
解决办法
3602
查看次数

使用库 mouse() 中的估算数据集来拟合 R 中的多级模型

我是 R 包装新手mice。但我正在尝试从中估算 5 个数据集popmis,然后为每个数据集拟合一个模型,最后在它们之间拟合一个lmer()模型。with()pool()

我认为pool()中的函数mice()不适用于lmer()来自lme4包的调用,对吧?

如果是这种情况,有没有办法编写一个定制的函数,其作用类似于pool()我下面的案例?

library(mice)
library(lme4)

imp <- mice(popmis, m = 5) # `popmis` is a dataset from `mice`

fit <- with(imp, lme4::lmer(popular ~ sex + (1|school))) # works fine.

pool(fit) # BUT this one fails, should I loop here?
Run Code Online (Sandbox Code Playgroud)

r lme4 missing-data r-mice imputation

8
推荐指数
1
解决办法
2873
查看次数

线程“main”中出现异常 java.lang.UnsatisfiedLinkError:无法加载库:/usr/lib/jvm/java-17-openjdk-amd64/lib/libawt_xawt.so

只是想加载 .jar 文件,但我不能,运行时java --version我得到:

openjdk 17.0.4 2022-07-19,

OpenJDK Runtime Environment (build 17.0.4+8-Debian-1), 和

OpenJDK 64-Bit Server VM (build 17.0.4+8-Debian-1, mixed mode, sharing)

Exception in thread "main" java.lang.UnsatisfiedLinkError: Can't load library: /usr/lib/jvm/java-17-openjdk-amd64/lib/libawt_xawt.so
    at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2393)
    at java.base/java.lang.Runtime.load0(Runtime.java:755)
    at java.base/java.lang.System.load(System.java:1953)
    at java.base/jdk.internal.loader.NativeLibraries.load(Native Method)
    at java.base/jdk.internal.loader.NativeLibraries$NativeLibraryImpl.open(NativeLibraries.java:388)
    at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:232)
    at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:174)
    at java.base/jdk.internal.loader.NativeLibraries.findFromPaths(NativeLibraries.java:315)
    at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:285)
    at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2398)
    at java.base/java.lang.Runtime.loadLibrary0(Runtime.java:818)
    at java.base/java.lang.System.loadLibrary(System.java:1989)
    at java.desktop/java.awt.Toolkit$2.run(Toolkit.java:1392)
    at java.desktop/java.awt.Toolkit$2.run(Toolkit.java:1390)
    at java.base/java.security.AccessController.doPrivileged(AccessController.java:318)
    at java.desktop/java.awt.Toolkit.loadLibraries(Toolkit.java:1389)
    at java.desktop/java.awt.Toolkit.initStatic(Toolkit.java:1427)
    at java.desktop/java.awt.Toolkit.<clinit>(Toolkit.java:1401)
    at java.desktop/java.awt.Component.<clinit>(Component.java:624)
    at MarieSim1.main(MarieSim1.java:15)
Run Code Online (Sandbox Code Playgroud)

我正在运行 Kali Linux,对此我还很陌生,所以任何有关下载必要库的帮助将不胜感激

java missing-data kali-linux

8
推荐指数
1
解决办法
1万
查看次数