Перечислите имена и номера строк отсутствующих данных в data.frame в R? - PullRequest
1 голос
/ 08 ноября 2019

Мне было интересно, как перечислить имена и номера строк отсутствующих данных в data.frame в R?

Ниже приведены пример и желаемый результат:

DF <- data.frame(X = c(1, 3, NA, 2), Y = c(NA, NA, 5, 4), Z = 4:7)

var.names <- names(which(colSums(is.na(DF)) > 0)) # names of the variables with missing

row.index <- which(rowSums(is.na(DF)) > 0)  # row number of the variables with missing

# Desired output:

list(X = 3, Y = c(1, 2))

Ответы [ 2 ]

1 голос
/ 08 ноября 2019

Мы можем использовать также использовать split

with(as.data.frame(which(is.na(DF), arr.ind = TRUE)), split(row, names(DF)[col]))
#$X
#[1] 3

#$Y
#[1] 1 2
1 голос
/ 08 ноября 2019

lapply автоматически зацикливается на столбцах, возвращая список с элементом для каждого столбца:

lapply(DF, function(x) which(is.na(x)))
# $X
# [1] 3
# 
# $Y
# [1] 1 2
# 
# $Z
# integer(0)
...