У меня есть матрица, у которой много столбцов, в которых все значения: NA
. Так что я хочу опустить все столбцы, которые полностью NA
. Итак, как я могу это сделать?Как опустить столбцы, содержащие только НС в матрице?
ответ
Вы можете использовать функцию «na.omit()» для удаления строк, содержащих наблюдения NA. Эта функция удаляет строки и возвращает кадр данных без NA.
Если вы хотите, чтобы удалить столбцы, где каждое наблюдение содержит Ч ...
Я не уверен, встроенную в R функции, чтобы сделать это. Тем не менее, мы можем рассматривать какой-то определенный процесс пользователя, который падает колонки с самым NA-х ...
### Assume 'df' is your data frame with observational data:
### Apply a function to check whether each observation contains an NA
count <- sapply(df, is.na)
### Within each column, ask for the number of missing observations
count <- colSums(count)
### Ask R which columns have the most missing observations
index <- which.max(count)
### Subset 'df' to exclude columns with the most NA's
df <- df[, -index]
Я предполагаю, что вы только хотите, чтобы опустить столбцы, где все наблюдения NA
; ваш вопрос несколько неоднозначен.
Этот код не включает столбцы, которые полностью NA
, для матрицы, x
, возвращая только те столбцы, по меньшей мере, одного не- NA
значения:
x[,apply(!is.na(x),2,any)]
Будет немного более эффективно использовать память 'x [, apply (x, 2, function (xx)! Any (is.na (xx)))], так как это не создаст' is.na (x) ', просто вектор' length (ncol (x)) ' – mnel
@mnel Да, если матрица большая, мой код выше будет неэффективным. –
mtx[ , -which(colSums(is.na(mtx)) == nrow(mtx)) ]
Если вы хотели, чтобы исключить столбцы, было зарегистрировано более 50% записей NA:
mtx[ , -which(colSums(is.na(mtx)) > nrow(mtx)/2) ]
- 1. Найти столбцы, содержащие только нули
- 2. Показать только столбцы, содержащие данные
- 3. капают столбцы, содержащие NaN
- 4. Возврат только столбцы, содержащие NA в R
- 5. Фильтрация строк в матрице, содержащие только 0 в R
- 6. Опустить строки, содержащие конкретный столбец NA
- 7. Найти круги, содержащие только нули в произвольной двоичной матрице
- 8. Выберите столбцы, содержащие строку
- 9. Получение только НС в DataFrame?
- 10. Удалить дублированные столбцы в матрице
- 11. WPF Столбцы к матрице
- 12. обменные столбцы в матрице numpy
- 13. столбцы суммы python в матрице
- 14. Как удалить столбцы, содержащие NA в linux
- 15. Отфильтровать столбцы, содержащие определенное слово
- 16. Как выбрать уникальные столбцы в матрице R
- 17. Как найти наиболее похожие столбцы в матрице?
- 18. как вычитать соседние столбцы в SSRS матрице
- 19. Сохраняя только определенные столбцы и ссылочный столбец в матрице
- 20. APL: Как удалить строки и столбцы, содержащие ТОЛЬКО 0s из матрицы?
- 21. Как перебрать столбцы, содержащие значения NA? R
- 22. выберите только столбцы, содержащие значения> 5 из фрейма данных
- 23. падающие столбцы с отрицательными значениями в матрице
- 24. ggplot2: как построить столбцы, содержащие специальные символы?
- 25. Добавление имен в столбцы в матрице
- 26. Как заменить столбцы, содержащие NA, содержимым предыдущего столбца?
- 27. Объединить столбцы в матрице в R
- 28. Скрытые столбцы, содержащие пробел в отчете
- 29. Выберите столбцы в матрице, соответствующие строкам
- 30. R: Сравнить все столбцы попарно в матрице
Этот ответ представляется, что 'df' является' data.frame'. Речь идет о «матрице». Подход 'sapply' полезен для data.frames и списков, но не для матриц. – mnel