R 无法识别我的数据集中的 NA

标签 r

令我感到困惑的是,R 无法识别我的数据集中的 NA daily。快速检查一下daily可能会让人相信变量OBLIGOR_ID中没有NA:

class(daily)
# "data.frame"

table(is.na(daily$OBLIGOR_ID))
#  FALSE
# 207775

但是,如果为所有 ADJUSTED_ORR 为 62512 的观测值绘制 OBLIGOR_ID,就会发现

daily[daily$ADJUSTED_ORR==62512,c('OBLIGOR_ID')]

# [1]   NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
# [60]  NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
# [119] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
# [178] NA NA NA NA NA NA NA

is.na(daily[daily$ADJUSTED_ORR==62512,c('OBLIGOR_ID')])

# [1]   TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
# [36]  TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
# [71]  TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
# [106] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
# [141] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
# [176] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE

有什么建议吗?

最佳答案

示例数据

PIN <- c("case1", "case2", "case3", "case4", "case5")
STAMP_1 <- c(1, 1, 1, 1, 1)
STAMP_2 <- c(NA, 1, 1, NA, 1)
STAMP_3 <- c(1, NA, 1, 1, NA)
STAMP_4 <- c(NA, NA, 1, 1, NA)
STAMP_5 <- c(1, NA, NA, 1, NA)
dat <- data.frame(PIN, STAMP_1, STAMP_2, STAMP_3, STAMP_4, STAMP_5)
dat
    PIN STAMP_1 STAMP_2 STAMP_3 STAMP_4 STAMP_5
1 case1       1      NA       1      NA       1
2 case2       1       1      NA      NA      NA
3 case3       1       1       1       1      NA
4 case4       1      NA       1       1       1
5 case5       1       1      NA      NA      NA

就您而言:

dat[dat$STAMP_2==1,'STAMP_3']
[1] NA NA  1 NA NA

存在NA时过滤的正确方式

基础R

dat[which(dat$STAMP_2==1),'STAMP_3']
   [1] NA  1 NA

子集(dat, STAMP_2 ==1, select=c('STAMP_3'))

  STAMP_3
2      NA
3       1
5      NA

关于R 无法识别我的数据集中的 NA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45988248/

相关文章:

r - fastPOSIXct 相当于将非 UTC 转换为 UTC

在 Rstudio 中重启 R

r - 针织全局环境

javascript - R:从 doPostBack 中抓取 aspx

r - 如何获取 hr :min format in r? 列中的平均时间

r - 如果列表中存在值,则更改列的值

r - 运行库时出错(ggplot2)

r - R中拟合函数的优度

r - 列式计算

r - 如何访问原子向量属性?