R против Python - что лучше?

Если вы читаете эту статью, я полагаю, что вы, как и многие другие специалисты по данным, задаетесь вопросом, какой язык программирования начать изучать.

Независимо от того, есть ли у вас опыт работы с другими инструментами кодирования или нет, отдельные функции этих двух конкретных программ, включая обширные массивы библиотек и пакетов, могут поначалу показаться устрашающими, но не волнуйтесь, эта статья поможет вам решить, какая из них правильные инструменты, которые помогут вам начать работу.

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

Для начала, вероятно, неплохо было бы вернуться к тому, для чего именно вы хотите использовать язык программирования. Например, специалист по данным, занимающийся преимущественно генетическими исследованиями, может обнаружить, что использует R (так как он популярен среди биоинформатиков), в то время как кто-то, работающий над моделями для анализа изображений, скажем, сотрудник Tesla, создающий технологию для самоуправляемых автомобилей, может оказаться, что работает с Python, благодаря его сложным инструментам для работы с изображениями.

В конце концов, это по-прежнему ваш выбор, и хотя обычно никогда не было бы хорошей философией просто слепо делать то, что делают все остальные, найдите время, чтобы выяснить, почему эти профессионалы предпочитают определенные языки. Очень важно иметь возможность говорить на том же языке, что и ваши будущие сверстники.

Кто использует R и какова его цель?

Изначально R создавался как платформа для статистических вычислений, на которой размещены все классические тесты, анализ временных рядов, кластеризация и многое другое. Он имеет большое сообщество майнеров данных, что означает множество доступных пакетов как от разработчиков, так и от пользователей R. Что касается графики, существует множество пакетов и слоев для построения и анализа графиков, таких как ggplot2.

Важно отметить, что R вышел на сцену искусственного интеллекта нового стиля, предоставляя инструменты для нейронных сетей, машинного обучения и байесовского вывода. Он также совместим с пакетами для глубокого обучения, такими как MXNet и TensorFlow. Если вам это не кажется жаргоном (или вам интересны эти иностранные слова), вы можете узнать больше об этих словах здесь.

Казалось бы, у R есть твердые последователи, не только специалисты по обработке данных, но в основном статистики и специалисты в смежных областях, требующих манипулирования данными (например, в медицине, финансах и социальных науках). Для любого специалиста по данным важно найти широко используемую программу; вы хотите иметь возможность говорить на одном языке по как можно большему количеству дисциплин, что сделает вашу работу легко переводимой.

Кто использует Python и какова его цель?

С другой стороны, Python - отличный инструмент для программистов и разработчиков по всем направлениям. Независимо от того, разрабатываете ли вы алгоритмы для моделирования биомолекул или поставляете программное обеспечение для защиты от спама, вы будете чувствовать себя как дома, используя его интерфейс и набор функций.

Выпущенный в 1989 году, он считается одним из наиболее значительных объектно-ориентированных языков программирования общего назначения (что звучит очень модно). Python пользуется все большей популярностью среди программистов-новичков (в том числе специалистов по обработке данных), что, конечно же, означает наличие богатого сообщества пользователей и надежных специалистов по устранению проблем, с которыми вы неизбежно столкнетесь.

Точно так же, когда речь идет об искусственном интеллекте, Python также самый популярный выбор; в нем есть инструменты для машинного обучения, нейронных сетей и Tensorflow. Кроме того, охватывая некоторые более общие цели, его пользователи получают выгоду от библиотек, таких как numpy для статистического анализа, pandas для подготовки данных и seaborn для создания графиков. Прочтите эту статью о 20 лучших библиотеках Python для науки о данных для получения дополнительной информации.

R против Python: ограничения

К более интересной части: как они соотносятся друг с другом?

Раннее обнаружение ограничений - возможно, один из самых важных советов, который вы можете получить. Говоря по опыту, переходя от использования Matlab, где существует огромная онлайн-поддержка (и обычно какой-то замечательный человек, который написал точный код для ваших нужд), к labVIEW, где практически не было онлайн-присутствия, я слишком хорошо знаю ощущение паника и невозможность решить эту ошибку.

Вы определенно разочаруетесь, не приняв во внимание очевидные потенциальные ограничения, которые может иметь ваш новый язык.

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

  • Скорость обработки. Будете ли вы использовать большие объемы данных?
  • Интернет-сообщество - Это действительно бесценно и много раз спасало меня.
  • Крутая кривая обучения - сколько времени и терпения у вас есть, чтобы специализироваться / вы уже изучали программирование раньше и лучше подготовлены для изучения нового языка?
  • Дружественный интерфейс. Вы знакомы с программированием или предпочитаете что-то легко визуализируемое и красивое?
  • Широко распространен - ​​Вы думали о будущих связях в разных областях и на их языках?

Давайте посмотрим, как каждый из них разбирается в этих темах…

Скорость обработки:

R считается медленным. Он требует, чтобы его объекты хранились в физической памяти, а это означает, что это не лучший вариант при попытке использовать большие данные. При этом более быстрые процессоры уменьшают это ограничение, и существуют различные пакеты, предназначенные для решения этой проблемы. Однако Python больше подходит для больших наборов данных и его способность быстрее загружать большие файлы.

Для получения дополнительной информации ознакомьтесь с Что лучше для анализа данных: R или Python? На Quora.

Интернет-сообщество:

Как упоминалось выше, и R, и Python имеют широкую сеть поддержки, к которой вы можете обратиться, и это бесценный источник помощи для тех ошибок, которые вы просто не можете легко устранить.

Крутая кривая обучения:

Это может рассматриваться или не рассматриваться как ограничение R, но его крутая кривая обучения объясняется его обширными возможностями для статистиков. Разработанный экспертами в этой области, R - невероятный инструмент, но вы платите за это своим первоначальным вложением времени.

С другой стороны, Python очень привлекателен для начинающих программистов своей простотой использования и относительной доступностью.

Обе программы потребуют от вас знакомства с терминологией, которая поначалу может показаться отталкивающей (например, разница между «пакетом» и «библиотекой»), поскольку настройка Python имеет преимущество перед R с точки зрения удобный опыт.

Хотя Python будет неумолимо строги к пользователям в отношении синтаксиса и откажется запускаться, если вы не выполнили правила, которые легко пропустить (хотя они действительно улучшают взаимодействие с пользователем в долгосрочной перспективе, поскольку делают нас лучше и аккуратнее в написании кода).

R имеет прекрасный атрибут по сравнению с его многочисленными академическими пользователями, предоставляя пользователю гораздо больший контроль над дизайном своей графики, позволяя экспортировать различные форматы и форматы отображения.

Важно отметить, что оба основаны на интерпретаторах, и было обнаружено, что по сравнению с другими языками (такими как C ++) это значительно упрощает обнаружение ошибок.

Удобный интерфейс:

RStudio широко считается излюбленной платформой для взаимодействия с R, и как только вы начнете знакомиться с ней, вы поймете, почему это так.

Он классифицируется как интегрированная среда разработки (IDE) и включает в себя консоль для прямого выполнения кода со всеми функциями для построения графиков, поддержки интерактивной графики, отладки и управления рабочим пространством, см. Возможности RStudio IDE для получения дополнительной информации подробное руководство.

Python содержит множество IDE на выбор. Преимущество этого заключается в том, что это дает вам прекрасную возможность выбрать тот, который кажется вам знакомым, исходя из вашего прошлого. Например, Spyder, имеющий образование в области компьютерных наук, является явным фаворитом. В то время как новички находят PyCharm доступным и интуитивно понятным.

5 лучших Python IDE для науки о данных - полезная, исчерпывающая статья по этой теме.

Широко используется:

Мы затронули эту тему, и я хочу подчеркнуть, что это субъективно для выбранной вами области. Если вы склоняетесь к научным кругам, финансам и здравоохранению (и это лишь некоторые из них), R, скорее всего, будет использоваться гораздо шире, и вы захотите воспользоваться этим.

Принимая во внимание, что те из вас, кто интересуется разработкой программного обеспечения, автоматизацией или робототехникой, могут оказаться погруженными в сообщество Python.

R против Python: преимущества

Пойдем прямо к делу ...

R:

  • Отличный выбор, если вы хотите манипулировать данными. Он может похвастаться более чем 10 000 пакетов для обработки данных в CRAN (Comprehensive R Archive Network).
  • Вы можете очень легко создавать красивые графики публикационного качества; R позволяет пользователям изменять эстетику графики и настраивать ее с минимальным кодом, что является огромным преимуществом перед конкурентами.
  • Возможно, самым мощным его инструментом является статистическое моделирование, создающее статистические инструменты для специалистов по данным и являющееся предшественником в этой области, которую предпочитают опытные программисты.
  • Пользователи извлекают выгоду из его интерфейса с большой платформой Github, чтобы находить лучшее программное обеспечение и делиться им.

Python:

  • Его очень легко и интуитивно понять для начинающих (в отличие от R, Python был разработан программистами, и его простота использования делает его фаворитом для университетов по всем направлениям).
  • Он обращается к широкому кругу пользователей, создавая постоянно растущее сообщество по большему количеству дисциплин и улучшая взаимодействие между языками с открытым исходным кодом.
  • Строгий синтаксис заставит вас стать лучшим программистом, написав более сжатый, разборчивый код.
  • Python быстрее справляется с большими наборами данных и может легко загружать файлы, что делает его более подходящим для обработчиков больших данных.

Заключение…

Учитывая все это, выбор языка для начала во многом зависит от того, чего вы от него хотите. Если вы из тех, кто специализируется на статистическом анализе или занимаетесь исследованиями, вы можете обнаружить, что R лучше всего подходит для вас.

Однако, если вы тот, кто видит себя разветвляющимся по нескольким дисциплинам, вы можете использовать универсальность Python и разнообразную сеть.

Вы также можете согласиться с тем, что в конечном итоге вам будет полезно изучить оба (по крайней мере, достаточно, чтобы уметь читать синтаксис другого), поскольку вы узнаете их сильные стороны. Это, несомненно, откроет вам больше возможностей для получения работы и, что более важно, даст вам ясность в принятии решения о том, какой карьерный путь вы хотите избрать.

Но не удивляйтесь; выучить второй язык будет проще, чем первый! Вы, несомненно, также будете рады открыть совершенно новое сообщество, чтобы погрузиться в себя, когда вы растете как специалист по данным.

Удачи и удачного кодирования!

P.S. Пожалуйста, простите за эскизы - до оцифровки они выглядели намного симпатичнее.

Ресурсы:
https://www.r-project.org/about.html
https://www.python.org/about/ https : //codeinstitute.net/blog/what-is-python-used-for/
https://www.superdatascience.com/blogs/top-6-data-visualization-libraries-for-python
https://www.superdatascience.com/blogs/r-and-python-in-the-workplace https://www.quora.com/Which-is-better-for-data-analysis-R-or -Python-Is-R-все еще-лучший-язык-анализа-данных-чем-Python-Has-any-else-used-Python-with-Pandas-to-a-large-degree-in-data-analysis -проекты
https://data-flair.training/blogs/r-vs-python/ https://support.rstudio.com/hc/en-us/articles/201057987-Quick-list-of -useful-R-packages
https://bigdata-madesimple.com/top-20-python-libraries-for-data-science/ https://rstudio.com/products/rstudio/features/ Https://www.datacamp.com/community/tutorials/data-science-python-ide