首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何确定哪一列NA是通过强制添加的

如何确定哪一列NA是通过强制添加的
EN

Stack Overflow用户
提问于 2018-10-08 11:40:32
回答 2查看 184关注 0票数 0

我正在尝试确定NA是通过强制添加到哪些列中的。特别是如果我有一个非常大的数据表。以一个较小的表格为例,将表格从字符转换为数字(从excel表格中读取)。

clean_tab数据:

代码语言:javascript
复制
A tibble: 3 x 3
          a b                   c    
      <dbl> <chr>               <chr>
    1   0.5 4-2                 5    
    2   0.1 0.29999999999999999 3-1  
    3   0.3 0.40000000000000002 4 

应用于数据的代码:

代码语言:javascript
复制
b <- c(1,2,3)
clean_tab[, b] <- sapply(clean_tab[, b], as.numeric)
View(clean_tab)

产生的警告消息和输出:

代码语言:javascript
复制
Warning messages:
1: In lapply(X = X, FUN = FUN, ...) : NAs introduced by coercion
2: In lapply(X = X, FUN = FUN, ...) : NAs introduced by coercion
> clean_tab
# A tibble: 3 x 3
      a     b     c
  <dbl> <dbl> <dbl>
1   0.5  NA       5
2   0.1   0.3    NA
3   0.3   0.4     4

在这种情况下,因为它是一个较小的表,我可以清楚地看到添加NA的位置。如果表更大,我如何识别添加了安娜的列(更具体地说是行和列)?

谢谢你的帮助。

EN

回答 2

Stack Overflow用户

发布于 2018-10-08 11:42:17

我们可以使用arr.ind为TRUE的which来返回NA元素的行/列索引

代码语言:javascript
复制
which(is.na(clean_tab), arr.ind = TRUE)
#   row col
#1   1   2
#2   2   3

由于输入数据是一个tibble,因此我们可以使用tidyverse方法进行转换

代码语言:javascript
复制
library(tidyverse)
library(magrittr)
clean_tab %<>%
         mutate_at(b, as.numeric)

数据

代码语言:javascript
复制
clean_tab <- structure(list(a = c(0.5, 0.1, 0.3), b = c("4-2", 
    "0.29999999999999999", "0.40000000000000002"), 
c = c("5", "3-1", "4")), row.names = c("1", 
"2", "3"), class = c("tbl_df", "tbl", "data.frame"))
票数 2
EN

Stack Overflow用户

发布于 2018-10-08 11:52:39

可以采用的一种方法是尝试将每一列转换为数字,然后断言该尝试是否产生了任何NA值:

代码语言:javascript
复制
df <- data.frame(a=c(0.5, 0.1, 0.3),
                 b=c("4-2", "0.29999999999999999", "0.40000000000000002"),
                 c=c("5", "3-1", "4"), stringsAsFactors=FALSE)

names(df)[sapply(df, function(x) { sum(is.na(as.numeric(x))) > 0 })]

[1] "b" "c"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52695093

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档