Хобрук: Ваш путь к мастерству в программировании

Обработка отсутствующих данных в R

Я столкнулся с нелепой ситуацией. Чтобы решить проблему с отсутствующими данными, я использовал этот код:

fixed_data <- fetch_data[-which(! complete.cases(train_sample)),]
train_index <- sample(1:nrow(fixed_data), size = .7*nrow(fixed_data))
train_sample <- fixed_data[train_index, ]
test_sample <- fixed_data[-train_index,]

Затем я проверяю строки порционных данных, чтобы убедиться, что нет пропущенного значения, но пропущенное значение все еще есть!

length(which(! complete.cases(fixed_data)))
14.04.2016

  • Определите отсутствующие данные, это пробел, NA, какая-то другая строка символов, обозначающая отсутствие? Если они NA, вы можете использовать is.na(), чтобы найти строки, содержащие NA. Насколько я знаю, строки символов NA не будут рассматриваться complete.cases() как отсутствующие. Так что это может быть проблемой. 14.04.2016
  • Не связано с проблемой, но -which(!...) очень уродливо. Гораздо лучше просто which(...). Вы должны предоставить свои данные, иначе чем кто-то может помочь? 14.04.2016
  • Я использую which для удаления всего, что он считает неполным, и после этого он все еще считает некоторые другие строки незавершенными. Это проблема! 14.04.2016
  • Ваша первая строка кода - это проблема. Вы выполняете полные случаи в train_sample, а не в fetch_data. Попробуйте это: fixed_data ‹- fetch_data[complete.cases(fetch_data),] 14.04.2016
  • Спасибо. Я думаю, что проблема в том, что я делаю отрицание дважды, и по какой-то причине это не работает нормально. 14.04.2016

Ответы:


1

Я изменил код на

fixed_data <- fetch_data[which(complete.cases(fetch_data)),]

И это работает сейчас. Какая глупая ошибка!

14.04.2016
Новые материалы

Учебные заметки JavaScript Object Oriented Labs
Вот моя седьмая неделя обучения программированию. После ruby ​​и его фреймворка rails я начал изучать самый популярный язык интерфейса — javascript. В отличие от ruby, javascript — это более..

Разбор строк запроса в vue.js
Иногда вам нужно получить данные из строк запроса, в этой статье показано, как это сделать. В жизни каждого дизайнера/разработчика наступает момент, когда им необходимо беспрепятственно..

Предсказание моей следующей любимой книги 📚 Благодаря данным Goodreads и машинному обучению 👨‍💻
«Если вы не любите читать, значит, вы не нашли нужную книгу». - J.K. Роулинг Эта статья сильно отличается от тех, к которым вы, возможно, привыкли . Мне очень понравилось поработать над..

Основы принципов S.O.L.I.D, Javascript, Git и NoSQL
каковы принципы S.O.L.I.D? Принципы SOLID призваны помочь разработчикам создавать надежные, удобные в сопровождении приложения. мы видим пять ключевых принципов. Принципы SOLID были разработаны..

Как настроить Selenium в проекте Angular
Угловой | Селен Как настроить Selenium в проекте Angular Держите свое приложение Angular и тесты Selenium в одной рабочей области и запускайте их с помощью Mocha. В этой статье мы..

Аргументы прогрессивного улучшения почти всегда упускают суть
В наши дни в кругах веб-разработчиков много болтают о Progressive Enhancement — PE, но на самом деле почти все аргументы с обеих сторон упускают самую фундаментальную причину, по которой PE..

Введение в Джанго Фреймворк
Схема «работать умно, а не усердно» В этой и последующих статьях я познакомлю вас с тем, что такое фреймворк Django и как создать свое первое приложение с помощью простых и понятных шагов, а..