Обработка отсутствия, включая значения NULL в R - PullRequest
0 голосов
/ 29 октября 2018

Я пытаюсь найти общее количество всех пропущенных значений, включая NA, "" и NULL на столбец в кадре данных. Функция «суммарный» показывает только значения NA, и даже пакет VIM делает то же самое.

В наборе данных PASWR :: titanic3 есть столбцы коэффициентов с пустой строкой, которая не фиксируется в моем анализе отсутствующих данных.

Что является хорошим подходом для включения количества этих пропущенных значений? Кроме того, есть ли способ показать все типы / частоту пропущенных значений?

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 29 октября 2018

Просто преобразуйте пропущенные значения, отличные от NA, с помощью

df[df %in% c("NULL", "")] <- NA
0 голосов
/ 29 октября 2018

Вы должны попробовать использовать функцию, созданную пользователем. Вот тот, который я придумал:

library(tidyverse)

test_function <- function(vector){
    ##The ifelse returns TRUE if the element in the vector is NA, NULL, or ""
    x <- ifelse(is.na(vector)|vector == ""|is.null(vector), TRUE, FALSE)

    ##Returns the sum of boolean vector (FALSE = 0, TRUE = 1)
    return(sum(x))
}

Чтобы применить функцию к кадру данных, вы можете использовать любую из функций применения, но я рекомендую sapply, поскольку она возвращает вектор.

##Create a data frame with mock data

test_df <- tibble(x = c(NA, NA, NA, "","",1,2,3),
   y = c(NA, "","","","","","",1),
   z = c(0,0,0,0,0,0,0,0))

##Assign the result to a new variable
 total_missing_by_column <- sapply(test_df, test_function)

##You can also build a data frame with the variables and the total missing

tibble(variable = colnames(test_df),
   total_missing = sapply(test_df, test_function))

Надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...