如何忽略r中的null值并继续运行代码

时间:2018-02-06 13:24:58

标签: r error-handling null

data_preprocessing <-
  function(trx, var_names = var_names_list) {
    trx_input <- data.frame(list(BankOwner = trx$BankOwner))
    data <- trx_input %>%
      mutate(full = ifelse(BankOwner, 1, 0))
  }

在此代码中, 当BankOwner以字符格式存在于数据框中时,它正在工作。当BankOwner == null而没有&#34;&#34;给我错误。我该如何解决这个问题。当数据集中存在null或应用函数时,我想忽略。

2 个答案:

答案 0 :(得分:0)

如果缺少值,您想要做什么?如果我能看到你的数据结构会很有帮助。有两个主要选择:

假设NA值没有丢失

这可能是你想要的。

data_preprocessing <-
  function(trx, var_names = var_names_list) {
    trx_input <- data.frame(list(BankOwner = trx$BankOwner))
    data <-
      trx_input %>%
      mutate(full = ifelse(ifelse(is.na(BankOwner), "NA", BankOwner), 1, 0))
  }

一旦检测到缺失数据,就立即结束该功能。

data_preprocessing <-
  function(trx, var_names = var_names_list) {

    if(any(is.na(BankOwner))) {
      warning("Missing data detected, terminating function")
      return()
    }

    trx_input <- data.frame(list(BankOwner = trx$BankOwner))
    data <- trx_input %>%
      mutate(full = ifelse(BankOwner, 1, 0))
  }

答案 1 :(得分:0)

R中的scannedCardsNULL之间存在差异。我认为您的意思是NA。假设这个,让我在函数中取出你的最后一个命令并将其转换为

NA