Почему разработчики Julia переименовали `NA` в` missing` - PullRequest
2 голосов
/ 28 февраля 2020

Это может показаться глупым тривиальным вопросом, но мне искренне любопытно, почему разработчики Julia решили изменить наименование пропущенных значений. Учитывая, что Julia спроектирована так, чтобы быть очень похожей на существующие языки и конвейеры на основе R и Python, я не совсем понимаю, почему они вводят длинное и неуклюжее название для NA, которое будет интуитивно понятно любому, кто прибывает из MATLAB / R .

1 Ответ

19 голосов
/ 28 февраля 2020

Предположение, что NA является стандартным в других языках, на самом деле не соответствует действительности:

  • R, yes - единственный, который использует NA
  • Matlab, нет - NaN, NaT, missing, другие
  • Python, нет - NaN, None , другие
  • SQL, нет - NULL

Почти нет согласованности между языками. За исключением одного: все они используют термин «отсутствующие данные» при объяснении. Когда кто-то видит NA в первый раз, он понятия не имеет, что это может означать. Даже когда вы знаете, неясно, что это означает. Это значит «Не назначено»? "Нет в наличии"? "Непригодный"? "Нет ответа"? Это все совершенно разные понятия, что приводит к путанице и неправильному использованию. Поскольку слово «отсутствует» - это слово, которое последовательно используется для описания того, для чего используется NA, почему бы не назвать его так? Использование имени missing также устраняет путаницу в отношении значения: missing однозначно представляет отсутствующее значение.

...