Целостность данных
В процессе изучения набора данных вы иногда будете сталкиваться с тем, что заставит усомниться в способе сбора данных. Например, переменная num_char содержит количество символов в письме (в тысячах), поэтому она может принимать дробные значения, но ни в коем случае не должна принимать отрицательные.
Можно сформулировать проверку, которая позволит убедиться, что переменная ведёт себя ожидаемым образом:
email$num_char < 0
Если выполнить этот код в консоли, вы получите длинный вектор логических значений, где для каждого наблюдения в наборе данных указано, выполняется ли условие (TRUE) или нет (FALSE). Первые 1000 значений оказываются FALSE. Чтобы убедиться, что все наблюдения действительно имеют неотрицательные значения num_char, можно вычислить сумму этого вектора:
sum(email$num_char < 0)
Это удобный приём. При арифметических операциях с логическими значениями R интерпретирует TRUE как 1, а FALSE как 0. Если сумма по всему вектору равна нулю, значит, каждое наблюдение в наборе данных получило значение FALSE в результате проверки. Иными словами, столбец num_char ведёт себя так, как ожидается, и принимает только неотрицательные значения.
Это упражнение является частью курса
Разведочный анализ данных в R
Инструкции к упражнению
Рассмотрите переменные image и attach. Вы можете узнать о них подробнее с помощью ?email, однако файл справки неоднозначен: учитываются ли прикреплённые изображения как прикреплённые файлы в этом наборе данных?
Составьте простую проверку, чтобы выяснить, считаются ли изображения прикреплёнными файлами. Для этого создайте логическое условие, сравнивающее значения двух переменных, а затем используйте sum(), чтобы оценить каждое наблюдение в наборе данных. Напомним, что логические операторы: < — меньше, <= — меньше или равно, > — больше, >= — больше или равно, == — равно.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Test if images count as attachments