У меня есть некоторый код, который я написал для создания таблицы имен столбцов и подсчета количества значений в каждом столбце NA
.Теперь я хотел бы изменить этот код, чтобы подсчитать, сколько пустых строк ""
присутствует в столбцах.
Вот некоторые общие данные:
d <- data.frame("ID" = c("A", "B", "", "C"),
"VAL" = c(1, NA, 2, 3),
"ORDER" = c(0, 3, 6, 7),
"MARKET" = c("ENT", "HOUSE", "RETAIL", ""))
А вот мой код, которыйгенерирует таблицу того, сколько NA
присутствует в столбцах.
Примечание: Он помещает в таблицу только те столбцы, которые содержат не менее 1 NA
, а преднамеренно.Это потому, что в данных много столбцов, и я хочу, чтобы таблица отражала только столбцы с пропущенными значениями - те, которые мне нужны.
Код:
c_names <- names(d)
k <- 0
cont_NA <- NA
for (i in 1:(dim(d)[2])) {
z <- unique(is.na(d[, i]))
if(length(z) == 2){
if(!is.na(cont_NA)){
cont_NA <- c(cont_NA, c_names[i])
}else{
cont_NA <- c_names[i]
}
}
}
rm(i, k, z)
missing <- data.frame("Column" = NA,
"Missing_Values" = NA)
for(p in 1:length(cont_NA)){
s <- sum(is.na(d[, c_names %in% cont_NA[p]]))
missing[p, 1] <- cont_NA[p]
missing[p, 2] <- s
}
rm(p, s, cont_NA)
missing
Мой вопрос: как мне преобразовать этот код, чтобы сделать то же самое, кроме как для подсчета ""
?В приведенном выше коде я использую функцию is.na
, но я не знаю функцию для подсчета пустых строк.
Пример вывода из приведенного выше кода:
Column Missing_Values
VAL 1
Пример вывода для моей проблемы будет выглядеть следующим образом:
Column Missing_Values
ID 1
MARKET 1