<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/">
  <channel>
    <language>ru</language>
    <title>Язык R</title>
    <description/>
    <link>https://tproger.ru/tag/r-language</link>
    <atom:link href="https://tproger.ru/tag/r-language/feed" rel="self" type="application/rss+xml"/>
    <lastBuildDate>Thu, 01 Oct 2026 12:55:06 GMT</lastBuildDate>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>12</sy:updateFrequency>
    <image>
      <title>Язык R</title>
      <link>https://tproger.ru</link>
      <url>https://tproger.ru/apple-touch-icon.png</url>
    </image>
    <item>
      <title>5 лучших языков программирования для создания нейросетей</title>
      <link>https://tproger.ru/articles/5-luchwih-yazykov-programmirovaniya-dlya-sozdaniya-nejrosetej-253661</link>
      <comments>https://tproger.ru/articles/5-luchwih-yazykov-programmirovaniya-dlya-sozdaniya-nejrosetej-253661?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[МТС]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/articles/5-luchwih-yazykov-programmirovaniya-dlya-sozdaniya-nejrosetej-253661</guid>
      <description><![CDATA[<p>Топовые языки для программирования нейросетей — Python, Java, C#, С++.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/articles/5-luchwih-yazykov-programmirovaniya-dlya-sozdaniya-nejrosetej-253661">5 лучших языков программирования для создания нейросетей</a>»</p>]]></description>
      <category><![CDATA[Java]]></category>
      <category><![CDATA[C++]]></category>
      <category><![CDATA[Языки программирования]]></category>
      <category><![CDATA[Язык R]]></category>
      <category><![CDATA[Python]]></category>
      <category><![CDATA[Статьи]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Wed, 25 Dec 2024 13:00:03 GMT</pubDate>
      <content:encoded><![CDATA[<p>Последние два года весь мир наблюдает за бумом нейросетей. Они готовы в режиме 24/7 генерировать для нас картинки, делать рефераты, переводить тексты, писать код… Этот список можно продолжать до бесконечности. Поэтому неудивительно, что разработчики нейросетей востребованы на IT-рынке.</p><p>Если вы тоже хотите заниматься машинным обучением, очень важно выбрать первый язык программирования — от этого будет зависеть скорость вашего прогресса и поиска первой работы.</p><p>В статье рассмотрим плюсы и минусы языков, на которых обучают нейросети. Выбор за вами!</p><h2>Кто и как создаёт нейросети</h2><p>Начнём с азов.</p><p>Нейросетями занимаются ML-инженеры — специалисты по машинному обучению.</p><p>Чтобы создать нейросеть, нужно пройти следующие этапы:</p><ul><li><b>сбор данных </b>— это могут быть изображения, тексты, аудиозаписи или что-то ещё. Например, если хотим создать нейросеть, которая распознаёт породы кошек, нужно много фотографий кошек</li><li><b>подготовка данных </b>— полученные данные обрабатывают, чтобы их было удобно использовать для обучения нейросети. Например, изображения могут быть уменьшены или преобразованы в числовой формат</li><li><b>выбор модели </b>— инженеры выбирают архитектуру нейросети, то есть её «строение». Это как чертёж, который определяет, как данные будут передаваться через сеть и как она будет принимать решения</li><li><b>обучение модели </b>— нейросеть обучается на подготовленных данных — в нашем примере «учится» распознавать особенности изображений кошек, корректируя свои веса и параметры</li><li><b>проверка модели </b>— после обучения модель проверяется на новых данных, которые она ранее не видела. Это нужно, чтобы удостовериться, что она научилась обобщать знания, а не просто «запомнила» входные данные</li><li><b>настройка и оптимизация </b>— если модель не даёт достаточно хороших результатов, её могут настраивать и оптимизировать, чтобы улучшить производительность</li></ul><p>Таким образом, создание нейросетей — процесс, включающий сбор данных, выбор модели, обучение, проверку и, при необходимости, настройку.</p><h2>Языки машинного обучения</h2><h3>Python</h3><p>Самый популярный язык программирования этого года <a href="https://www.tiobe.com/tiobe-index/">по версии TIOBE</a>, а также № 1 в машинном обучении. По данным ChatGPT и Google Bard, они созданы с использованием Python и фреймворков для глубокого обучения TensorFlow и PyTorch.</p><p>Плюсы Python:</p><ul><li>простой синтаксис, который может легко освоить даже новичок в программировании. Также это плюс и для опытных инженеров — вместо того чтобы думать, как обойти технические сложности языка, они могут сконцентрироваться на решении задач машинного обучения</li><li>большое количество библиотек и фреймворков, которые помогают в создании ML-моделей и ускоряют разработку. Например, TensorFlow, Keras, Scikit-learn и Pandas</li><li>Python легко интегрируется с другими языками программирования, что полезно при работе с библиотеками и инструментами, написанными на других языках</li></ul><p>Минусы Python:</p><ul><li>в некоторых случаях Python может быть несколько медленнее по сравнению с низкоуровневыми языками, такими как C++ или Java. Это особенно актуально для высоконагруженных систем или задач, требующих высокой производительности</li></ul><h3>Java</h3><p>Ещё один популярный выбор ML-инженеров, которые ценят стабильность, надёжность и производительность. Java использовали для создания чат-бота A.L.I.C.E., выпущенного в 1995 году, мобильных роботов для исследований полярного круга и движка для разработки рекомендательных систем Seldon Server.</p><p>Плюсы Java:</p><ul><li>Java — кроссплатформенный язык программирования. Поэтому код на этом языке без изменений работает на любых операционных системах. Это особенно важно при создании нейросетей, предназначенных для использования в разных средах</li><li>Java известен стабильностью и надёжностью, что может быть серьёзным плюсом при разработке критически важных систем, например в области медицины и финансов</li><li>Java имеет большую библиотеку и фреймворки для обучения нейросетей (например, Weka, Apache Mahout, Deeplearning4j, Mallet, MLlib)</li></ul><p>Минусы Java:</p><ul><li>Java — компилируемый язык, поэтому код сначала компилируется в машинный, а затем выполняется. Это может замедлить процесс разработки и обучения нейросетей</li><li>сообщество разработчиков в области машинного обучения в Java не такое активное, как в случае с Python. Это значит, что сложнее найти обучающие материалы и ответы на свои вопросы</li></ul><h3>С++</h3><p>Мощный язык программирования, который часто используется для разработки решений на стыке ИИ, робототехники и интернета вещей. Хотя он также хорошо справляется с задачами обучения нейросетей и чат-ботов.</p><p>Плюсы С++:</p><ul><li>C++ известен своей высокой производительностью, что может быть критично для задач, требующих интенсивных вычислений, таких как обучение нейронных сетей</li><li>предоставляет контроль над аппаратными ресурсами, что позволяет оптимизировать код под конкретные архитектуры процессоров и ускорять выполнение операций</li></ul><p>Минусы С++:</p><ul><li>C++ может быть более сложным и требовательным к написанию кода, чем некоторые другие языки программирования, поэтому не рекомендуется новичкам</li></ul><h3>C#</h3><p>C# — универсальный язык от компании Microsoft, который она активно продвигает для машинного обучения, для чего создала библиотеку ML.NET.</p><p>Плюсы C#:</p><ul><li>C# может обеспечить хорошую производительность, что важно при обработке больших объёмов данных, характерных для обучения нейросетей</li><li>если нейросети встраиваются в большой проект, который включает в себя и другие компоненты, написанные на C#, использование того же языка может обеспечить лучшую интеграцию и общую согласованность</li></ul><p>Минусы C#:</p><ul><li>в сравнении с такими языками, как Python, у C# более ограниченная экосистема библиотек и фреймворков для машинного обучения</li><li>C# более сложный для освоения новичками, чем тот же Python</li></ul><h3>R</h3><p>Язык R разработали учёные факультета статистики Оклендского университета. Обычно он используется в связке с Python для обработки и визуализации данных.</p><p>Плюсы R:</p><ul><li>имеет большое количество библиотек для машинного обучения и работы с данными: Caret, DataExplorer, Dplyr, Ggplot2, kernLab и другие</li><li>если ваши данные и задачи тесно связаны со статистикой, R может быть хорошим выбором, так как он широко используется в академических и исследовательских сферах</li></ul><p>Минусы R:</p><ul><li>может быть менее эффективным по сравнению с такими языками, как C++ или Python, что может сказаться на производительности при обучении сложных нейронных сетей</li><li>имеет меньше инструментов для развёртывания ML-моделей, что усложняет работу с ними</li><li>довольно узкая сфера применения</li></ul><h2>Выводы</h2><p>Если делаете первые шаги в программировании и машинном обучении, лучше остановиться на Python. Это самый востребованный у работодателей язык, который можно освоить в короткие сроки.</p><p>Дальше можно добавить R для работы с большими данными. А если вы уже не новичок в программировании, подойдут Python, Java или С++ (последний особенно актуален для проектов в сфере интернета вещей).</p>]]></content:encoded>
    </item>
    <item>
      <title>Редкие языки программирования: зачем они нужны и что на них пишут</title>
      <link>https://tproger.ru/articles/redkie-yazyki-programmirovaniya--zachem-oni-nuzhny-i-chto-na-nih-piwut</link>
      <comments>https://tproger.ru/articles/redkie-yazyki-programmirovaniya--zachem-oni-nuzhny-i-chto-na-nih-piwut?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Анна Ельцова]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/articles/redkie-yazyki-programmirovaniya--zachem-oni-nuzhny-i-chto-na-nih-piwut</guid>
      <description><![CDATA[<p>Что такое редкие языки программирования и зачем они нужны: COBOL для финансов, Lua для игр, Haskell, F#, Elixir, R и Clojure. Читайте на Tproger!</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/articles/redkie-yazyki-programmirovaniya--zachem-oni-nuzhny-i-chto-na-nih-piwut">Редкие языки программирования: зачем они нужны и что на них пишут</a>»</p>]]></description>
      <category><![CDATA[JavaScript]]></category>
      <category><![CDATA[Java]]></category>
      <category><![CDATA[Веб-разработка]]></category>
      <category><![CDATA[Языки программирования]]></category>
      <category><![CDATA[Язык R]]></category>
      <category><![CDATA[Python]]></category>
      <category><![CDATA[Haskell]]></category>
      <category><![CDATA[Статьи]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Fri, 12 Jul 2024 09:30:02 GMT</pubDate>
      <content:encoded><![CDATA[<p>Сейчас самые <a href="https://www.tadviser.ru/index.php/%D0%A1%D1%82%D0%B0%D1%82%D1%8C%D1%8F:%D0%A0%D0%B5%D0%B9%D1%82%D0%B8%D0%BD%D0%B3_%D0%B2%D0%BE%D1%81%D1%82%D1%80%D0%B5%D0%B1%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D0%BE%D1%81%D1%82%D0%B8_%D1%8F%D0%B7%D1%8B%D0%BA%D0%BE%D0%B2_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F#:~:text=%D0%A1%D1%80%D0%B5%D0%B4%D0%B8%20%D0%BF%D1%80%D0%BE%D1%87%D0%B5%D0%B3%D0%BE%20%D0%BA%D0%BE%D0%BC%D0%BF%D0%B0%D0%BD%D0%B8%D1%8F%20%D0%BD%D0%B0%D0%B7%D0%B2%D0%B0%D0%B2%20%D1%81%D0%B0%D0%BC%D1%8B%D0%B5,%D0%BC%D0%BB%D0%BD%20%D0%B4%D0%BB%D1%8F%20%D1%81%D0%BB%D1%83%D0%B6%D0%B1%D1%8B%20%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%BD%D0%BE%D0%B9%20%D1%87%D0%B0%D1%81%D1%82%D0%B8">популярные</a> языки программирования — JavaScript (с ним работают 25,2 млн разработчиков), Python (18,2 млн) и Java (17,7 млн). Но иногда проект требует специфичного кода, который невозможно написать с помощью топа популярных технологий. Ниже — подборка редких языков программирования, о которых многие девелоперы даже не слышали, но которые могут дать большой буст разработке.</p><h2>COBOL</h2><p>COBOL (Common Business Oriented Language) появился в 1959 году благодаря Грейс Хоппер (ее еще называют «бабушкой Кобала»). Изначально он был императивным и процедурным, а с 2002 года стал объектно-ориентированным. Распространился он по инициативе Минобороны США, а затем стал широко использоваться в финансовых вычислениях.</p><figure><img src="https://media.tproger.ru/user-uploads/101078/2024-07-10/6172cd13-300f-4a1f-9f9f-999766a1b5c9.jpg" alt="" /></figure><blockquote><i>«Использование Кобола калечит ум. Его преподавание, следовательно, должно рассматриваться как уголовное преступление» — Эдсгер Дейкстра</i></blockquote><p>В какой-то степени Дейкстра прав — у Кобола действительно сложный и громоздкий синтаксис в отличие от менее «многословных» языков. Тем не менее он крут в задачах, с которыми не справляются другие технологии. Дело в том, что Кобол проводит десятичные вычисления не с плавающей, а с фиксированной точкой — не нужны сложные правила округления, как, например, на Java, и операции производятся быстрее. К тому же код будет одинаково работать на 8-битной и 64-битной архитектурах, поскольку COBOL может хранить переменные разных типов вне зависимости от компилятора и архитектуры системы.</p><p>Именно поэтому Кобол незаменим в денежных операциях. В США язык используют банки и система здравоохранения — транзакции через терминалы, торговля на бирже и зарплаты врачам проходят именно через него.</p><p>Вот пример «простенького» кода:</p><p>Не спорим, выглядит не так элегантно, как Python, но зато все деньги и суммы будут подсчитаны верно, поскольку округлением чисел занимается не процессор и арифметико-логическое устройство, а человек.</p><h2>Lua</h2><p>Lua — это скриптовый язык программирования с исходным кодом на C. Ближе всего он к JavaScript с такой же прототипной моделью ООП, но LUA более мощный и гибкий. Массивы, структуры, множества и остальные составные пользовательские типы данных реализуются с помощью таблиц, а механизмы ООП — через метатаблицы.</p><p>Изначально язык разрабатывался для промышленности, скорее, для конкретной нефтяной компании Petrobras. Сейчас же его используют для разработки массового ПО, например, для графического интерфейса Adobe Lightroom, и игр. Так, с помощью Луа можно легко закодить поведение NPC и других персонажей, под которых не придётся переписывать движок. Среди таких игр — Garry's Mod, Roblox, Stalker и даже World of Warcraft.</p><p>Вот пример кода из «Сталкера»:</p><p>Кстати, потренировать свои навыки Lua можно в игре Retro Gadgets. Рассказывали о ней в нашей <a href="https://tproger.ru/digest/igraya-uchites--podborka-topovyh-igr-po-programmirovaniyu">статье</a>.</p><h2>F#</h2><p>F Sharp — мультипарадигмальный язык, который поддерживает не только процедурное и объектно-ориентированное программирование, но еще и функциональное. Его разработали в Microsoft Research, а затем компания интегрировала среду разработки F# в Visual Studio 2010 и последующие версии.</p><p>У F Sharp лаконичный код с выводом типов. Он ориентирован на данные, параллельный ввод-вывод, параллельные вычисление и часто используется в научных исследованиях, анализе данных, машинном обучении и веб-разработке. К тому же он интегрируется с .NET платформами.</p><p>Язык действительно редкий и непопулярный, а специалистов, знающих его, в <a href="https://gb.ru/posts/f_sharp">100 раз меньше</a>, чем С#-разработчиков. Однако в некоторых специфических задачах, связанных с Big Data и ML, «фаршик» может быть крайне полезен.</p><p>Вот <a href="https://gist.github.com/odytrice/667bc1d8d7c872fe8c5b1baa58898c32">пример</a> кода:</p><h2>R</h2><p>Еще один язык для подсчета цифр и чисел — R был создан специально для статистического анализа данных. В общем, очередное машинное обучение и Big Data. Он появился в Оклендском университете взамен платному и недоступному большинству разработчиков языку S.</p><p>Сейчас популярность R начинает расти, и им пользуются многие крупные компании, например, Amazon, Deloitte, Accenture, Google и другие. Тем не менее синтаксис не похож на другие языки — это в первую очередь статистическая технология, поэтому начинающим разработчикам разобраться в нем будет непросто. Среди функций — объединение данных из таблиц, создание интерактивных графиков, статистическое тестирование. Кстати, на R можно написать и веб-приложение с помощью библиотеки Shiny.</p><p>Вот пример кода, который делает из двоичного кода десятичный:</p><h2>Clojure</h2><p>Clojure — это современный, динамичный и функциональный «диалект» языка Lisp на платформе Java. Появился в 2007 году благодаря Ричу Хики. Разработан как язык общего назначения — он сочетает доступность и интерактивную разработку языка сценариев с надежной инфраструктурой для многопоточного программирования. Clojure известен своей интерактивной средой REPL и мощной поддержкой параллельного программирования.</p><p>Одна из ключевых характеристик языка — функциональность, а это значит, что в нем особое внимание уделяется применению функций и неизменности данных. Он также предоставляет доступ к Java-фреймворкам и может компилироваться как с байт-кодом Java, так и с JavaScript — это полезно и для серверной, и для клиентской разработки.</p><p>Clojure используют в крупных банках, например, в Raiffeisen, а также в Netflix, Amazon, Apple и других гигантах. Так, в Apple с помощью него <a href="https://grishaev.me/clojure-article/">собирают</a> данные и статистику.</p><p>Вот, например, код <a href="https://github.com/gusenov/examples-clj/blob/master/hello/hello.clj">Hello, world</a> на Conjure:</p><h2>Haskell</h2><p>Еще один чистый функциональный язык программирования. Среди особенностей — строгая типизация, почему он и назван в честь Хаскелла Карри, исследователя теории типов и создателя комбинаторной логики. Также язык поддерживает отложенные вычисления.</p><p>Haskell отличается не только простым и элегантным синтаксисом, но и быстротой и производительностью. Он применяется в инвестиционном банкинге, а также для создания системных продуктов и ПО. Разумеется, его тоже используют в крупных компаниях: в Meta*, IBM, Twitter, Bank of America и других. Например, Facebook* борется с помощью Haskell со спамом.</p><p>Очередной Hello World, только на Haskell:</p><p>Да, это все. putStrLn можно заменить на print.</p><h2>Elixir</h2><p>Тоже язык программирования общего назначения, который использует динамическую типизацию данных и функциональную парадигму. Elixir использует виртуальную машину Erlang, известную своей способностью запускать распределенные и отказоустойчивые системы с низкой задержкой.</p><p>Среди особенностей — возможность метапрограммирования, которые позволяют разработчикам писать код, который сам пишет код, и поддержка параллельного программирования. Elixir также предоставляет мощные встроенные инструменты для тестирования и отладки программного обеспечения.</p><p>Язык широко используется в веб-разработке, особенно в среде Phoenix Framework, а также при создании распределенных и отказоустойчивых систем, благодаря базовой платформе Erlang/OTP. Для разработчиков, не знакомых с парадигмами функционального программирования, освоить будет не так просто, зато какие преимущества — эффективность, масштабируемость и надежность приложений.</p><p>Вот код, который продублирует строки множество раз:</p><p>На самом деле, нишевых и редких языков программирования очень много. И даже опытные разработчики могли никогда о них не слышать. Зато такие языки помогают решать специфические задачи, когда популярные решения бессильны.</p><p><i>Делитесь в комментариях, на каких редких языках ходили и как вам это помогло в разработке проекта.</i></p><p>*Компания Meta признана экстремистской и запрещена на территории РФ</p>]]></content:encoded>
    </item>
    <item>
      <title>Начался батл языков программирования 2023</title>
      <link>https://tproger.ru/articles/nachalsya-battl-yazykov-programmirovaniya-2023</link>
      <comments>https://tproger.ru/articles/nachalsya-battl-yazykov-programmirovaniya-2023?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Рафаил Агазода]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/articles/nachalsya-battl-yazykov-programmirovaniya-2023</guid>
      <description><![CDATA[<p>Первые двойки языков программирования готовы столкнуться в битве за звание лучшего в 2022 году: Swift против Dart, R против Python.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/articles/nachalsya-battl-yazykov-programmirovaniya-2023">Начался батл языков программирования 2023</a>»</p>]]></description>
      <category><![CDATA[Язык R]]></category>
      <category><![CDATA[Python]]></category>
      <category><![CDATA[Swift]]></category>
      <category><![CDATA[Dart]]></category>
      <category><![CDATA[Лучший язык 2023]]></category>
      <category><![CDATA[Статьи]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Tue, 19 Dec 2023 08:18:07 GMT</pubDate>
      <content:encoded><![CDATA[<p>В первом раунде батла за звание лучшего языка программирования в 2023 году борются:</p><ul><li>Swift против Dart;</li><li>R против Python.</li></ul><figure><img src="https://media.tproger.ru/user-uploads/48741/2023-12-19/e0e2bc4f-a84b-41ee-90f0-a219c6d0ac42.png" alt="" /><figcaption>Турнирная таблица батла лучших языков программирования в 2023 году</figcaption></figure><p>Выберите лучшие из языков, но помните: голосуйте сердцем! Не думайте об их популярности или востребованности. В этом турнире важна только народная любовь.</p><p>Со всеми условиями батла <a href="https://tproger.ru/articles/startuet-batl-yazykov-programmirovaniya-2023">можно ознакомиться в анонсе</a>.</p><p>Голосование продлится до завтра, 20 декабря 2023 года, до 11 часов по МСК.</p><p>Боитесь пропустить следующие раунды батла? Подпишитесь на тэг <a href="https://tproger.ru/tag/toplang2023">Лучший язык 2023</a>. Тогда новые раунды появятся в  вашей личной ленте, а вам будут приходить уведомления об их появлении.</p>]]></content:encoded>
    </item>
    <item>
      <title>Нужно ли питонисту учить R</title>
      <link>https://tproger.ru/articles/nuzhno-li-pitonistu-uchit-r</link>
      <comments>https://tproger.ru/articles/nuzhno-li-pitonistu-uchit-r?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Лена Капаца]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/articles/nuzhno-li-pitonistu-uchit-r</guid>
      <description><![CDATA[<p>Если вы осваиваете Python и встречали на своем пути R, то могли задуматься: стоит ли учить и его? Рассказали, для каких проектов подойдет R.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/articles/nuzhno-li-pitonistu-uchit-r">Нужно ли питонисту учить R</a>»</p>]]></description>
      <category><![CDATA[Язык R]]></category>
      <category><![CDATA[Python]]></category>
      <category><![CDATA[Статьи]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Thu, 06 Jul 2023 10:16:26 GMT</pubDate>
      <content:encoded><![CDATA[<p>Если вы осваиваете Python и встречали на своем пути R, то могли задуматься: стоит ли учить и его? Получится ли дополнить им свой стек “в прикуску”? Давайте подробнее рассмотрим, для каких проектов подойдет язык и есть ли вообще смысл тратить на него время.</p><figure><img src="https://media.tproger.ru/uploads/2023/07/1ac85fa3-2d33-48f5-b517-fd20fc56e707.jpeg" alt="" /></figure><h2>Применение</h2><p>R был специально разработан для статистического анализа и визуализации данных (dataviz). В этих сферах и Python вполне применим, однако R – более удачный выбор по ряду причин:</p><ul><li>Встроенные компоненты упрощают работу: вам не потребуется тратить время на освоение документации и бесконечные новые методы и аргументы к ним.</li><li>R, хоть и не предназначен для работы с большими данными, позволяет быстрее собирать прототипы и обнаруживать инсайты.</li></ul><h2>Библиотеки и пакеты</h2><p>Для R создано большое количество библиотек и пакетов. Например ggplot2, dplyr,  Leaflet, simplevis, которые делают его мощным инструментом для визуализации и обработки данных.</p><figure><img src="https://media.tproger.ru/uploads/2023/07/8b551d52-48fc-4f4c-ac70-f5dc04fbd434.png" alt="" /><figcaption>Интересное представление распределений известного датасета ирисов на ggplot2</figcaption></figure><h2>Сообщество</h2><p>R достаточно популярен среди статистиков и исследователей данных. Сообщество насчитывает примерно 2 миллиона человек.</p><p>Такой на первый взгляд незначительный нюанс значит очень много, когда вы окунаетесь в многочасовой дебаггинг. Треды на тех жe <a href="https://stats.stackexchange.com/questions/tagged/r">StackExchange</a> / StackOverflow заполнены ответами на самые заковыристые вопросы из сфер статистического анализа, что позволяет буквально строить свою карьеру на “отработанных” граблях предшественников.</p><p>(Но для сравнения у Python 8,2 миллиона пользователей — и сообщество там активнее).</p><h2>Производительность</h2><p>R еще медленнее, чем Python: намеренно возьмем цикл for, который, как правило, замедляет код, и подсчитаем скорость обработки списка. Конвертируем этот код в R и запустим на онлайн-IDE Programiz.</p><p>Кстати, если вы затрудняетесь с выбором онлайн-среды разработки, почитайте мою статью с полным разбором некоторых популярных веб-сред.</p><figure><img src="https://media.tproger.ru/uploads/2023/07/f2c3cc26-0120-42e0-95cf-29611b617fbc.png" alt="" /><figcaption>Python-версия скрипта</figcaption></figure><figure><img src="https://media.tproger.ru/uploads/2023/07/a24cbb28-cdf7-4f1a-8a73-59fd22d0eeae.png" alt="" /><figcaption>R-версия скрипта</figcaption></figure><p>Выходит, что даже на таких простых вещах R уже показывает отставание – 0.000012 против 0.02779651 секунд, то есть в 2300+ раз медленнее.</p><h2>Синтаксис</h2><p>На мой взгляд, языки примерно одинаковы по лаконичности и читаемости:</p><p>Python:</p><p>R:</p><p>Внимательные уже заметили, что аналога модуля datetime подключать в R-версии не потребовалось. Повторюсь: в статанализе, статистическом обучении довольно много специфических нюансов, которые создатели языка внедрили в ядро R, без необходимости подключать сторонние библиотеки. Это означает еще  и однообразность синтаксиса.</p><h2>Заключение</h2><p>В случае, если вы выбрали стать веб-разработчиком, дата-сайентистом, дата-аналитиком или дата-инженером, R вы встретите в небольшом количестве вакансий, он пригодится в разве что для расширения кругозора. Однако если вы планируете строить академическую карьеру, повлиять на науки статистики, теории вероятности и смежных направлений, R подойдет. На этом языке учат лучшие факультеты СПбГУ, МФТИ и других культовых университетов страны.</p><p>Более того, его можно использовать в ВМЕСТЕ с Python: один язык для подготовки данных и очистки, другой – для визуализации.</p><figure><img src="https://media.tproger.ru/uploads/2023/07/4ecc78d9-721f-496d-a2fa-22c7ef8b6278.png" alt="" /></figure>]]></content:encoded>
    </item>
    <item>
      <title>Python vs. R: что выбрать для Data Science начинающему специалисту?</title>
      <link>https://tproger.ru/articles/python-vs-r-for-data-science</link>
      <comments>https://tproger.ru/articles/python-vs-r-for-data-science?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Типичный программист]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/articles/python-vs-r-for-data-science</guid>
      <description><![CDATA[<p>У Python понятный синтаксис и много библиотек, R создавался для статистиков и силён визуализацией данных. Плюсы, минусы и инструменты обоих языков.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/articles/python-vs-r-for-data-science">Python vs. R: что выбрать для Data Science начинающему специалисту?</a>»</p>]]></description>
      <category><![CDATA[Обучение программированию]]></category>
      <category><![CDATA[Язык R]]></category>
      <category><![CDATA[Python]]></category>
      <category><![CDATA[Партнёрский материал]]></category>
      <category><![CDATA[Data Science]]></category>
      <category><![CDATA[Статьи]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Tue, 22 Sep 2020 15:05:21 GMT</pubDate>
      <content:encoded><![CDATA[<p>Python и R давно стали стандартом для Data Science. Суть их противостояния в том, что оба языка прекрасно подходят для работы со статистикой. В то время как Python характеризуется понятным синтаксисом и большим количеством библиотек, язык R разрабатывался целенаправленно для специалистов по статистике, а посему оснащён качественной визуализацией данных. Особняком стоит SQL — потому что, если данные уже лежат в таблицах, то это скорее везение, чем повод для расстройств, — и Scala — в основном благодаря тому, что на ней написан популярнейший фреймворк распределённой обработки данных Spark.</p><p>Чтобы провести первичный анализ данных и принять решение о дальнейшей судьбе фичи, достаточно средств одного только SQL и командной строки, ведь data science — это, в первую очередь, не про библиотеки с броскими названиями, а про подход. Тем не менее, такой минимализм имеет свой предел (а новичка вообще может отпугнуть), и в какой-то момент всё же придётся обратиться к более продвинутым инструментам исследования.</p><p>В этой статье мы вместе со <a href="https://tprg.ru/WnUr">SkillFactory</a> разобрали для вас преимущества и недостатки R и Python в качестве первых языков в карьере data scientist’а. Разработчикам, желающим добавить строчку с полезным навыком в резюме, тоже будет интересно.</p><h2>Python</h2><p>Совершенно незаметно подкралось тридцатилетие Python. За свою уже немалую историю Python несколько раз перерождался, теряя обратную совместимость, но всегда оставался популярен как среди разработчиков в общем, так, в частности, и среди data scientist’ов. На это есть несколько причин.</p><h3>Преимущества Python в Data Science</h3><ul><li>Простой, но выразительный синтаксис. Знание английского языка на уровне первых классов школы — это уже победа, потому что азы Python можно считать освоенными. Дальше будет не сильно сложнее. Если же вы уже знакомы, например, с Java, то вы будете приятно удивлены тем, как легко сказать миру «привет».</li><li>Богатый выбор библиотек. И речь не только о библиотеках алгоритмов машинного обучения — на Python разрабатывают облачные хранилища, стриминговые сервисы, и даже игры (хоть в них иногда и приходится обыгрывать тормоза как фичу, а не баг).</li><li>Высокая культура документации. Сам Python прекрасно документирован, и обычно библиотеки на нём продолжают эту традицию.</li></ul><p>При всём своём великолепии, Python не лишён и минусов. Его часто (и иногда заслуженно) называют медленным, ему всё ещё не хватает удобных средств ORM, а написание действительного крупного проекта на нём — довольно тяжёлый труд, требующий хорошей дисциплины. Но как и с любым другим инструментом, важно просто знать, как им пользоваться. Кстати об инструментах.</p><h3>Python-инструменты для data scientist</h3><p>Как уже упоминалось ранее, Python примечателен своим обширным набором библиотек и инструментов. Говоря о data science, нужно в первую очередь упомянуть следующие:</p><ul><li>Pandas — библиотека для манипулирования данными с огромными возможностями. Позволяет очень быстро провести исследование новых данных, протестировать гипотезы, получить отчёт. Одно из главных преимуществ Python.</li><li>Scikit-learn — большая библиотека алгоритмов машинного обучения и обработки данных. Немалую часть соревнований на Kaggle выиграли пользуясь только ей в паре с Pandas.</li><li>Keras и PyTorch — библиотеки, используемые для обучения глубоких нейронных сетей. Подходят для задач, связанных с изображениями, аудио и видео файлами.</li><li>IPython Notebook — рассказывая о Python нельзя не упомянуть о нём. Стандартная среда разработки не совсем подходит data scientist’у в процессе исследования данных. Есть потребность в таком формате, который позволил бы, например, запустить затратный алгоритм, а когда он завершится — поиграть немного с результатами, исследовать их и построить графики. Здесь на помощь и приходит формат ноутбука. Это графический интерфейс, который открывается в обычном браузере и представляет из себя последовательность ячеек, где можно писать и исполнять код, используя при этом общую память для хранения данных.</li></ul><p>Кстати, именно Python — основный язык <a href="https://tprg.ru/WnUr">курса «Профессия Data Scientist»</a> от SkillFactory. При этом знать его не обязательно: вы освоите его в процессе обучения на примере реальных задач.</p><h2>R</h2><p>В 2020 году язык R остаётся одним из самых популярных для Data Science и статистики, стабильно завоёвывая всё большую долю просмотров в соответствующих разделах StackOverflow. При этом, со значительным перевесом лидируют вопросы академического характера: в первую очередь, R — это язык с богатым набором библиотек по машинному обучению и статистике, что особенно важно в исследовательских целях.</p><h3>Преимущества R в Data Science</h3><ul><li>Богатая ML экосистема, огромное количество библиотек статистических методов. Как уже было замечено ранее, R особенно популярен в академической среде, что и приводит к тому, что часто новые методы впервые имплементируются именно на нём.</li><li>Достаточно удобная проприетарная среда разработки RStudio, с которой будет легко разобраться, если у вас был опыт в MATLAB.</li><li>Необычный синтаксис, заточенный под нужды статистики. Опытный программист со знанием другого языка может испытать трудности акклиматизации, зато пользователи с математическим бэкграундом легко воспримут логику языка.</li><li>Нативная поддержка векторных вычислений. Крутой бонус, который означает, что на R можно программировать достаточно быстрые реализации математических методов, использующих векторные и матричные вычисления.</li></ul><h3>R-инструменты для data scientist</h3><p>Поговорим об упомянутых библиотечных богатствах R. Вот некоторые из базовых, но мощных библиотек, вооружившись которыми можно провести обширный рисерч или занять хорошие места в Kaggle:</p><ul><li>Dplyr — «грамматика манипуляций с данными», библиотека с функциональностью, аналогичной Pandas.</li><li>Ggplot2 и Esquisse — мощные библиотеки для рисования графиков.</li><li>Shiny — полезнейшая библиотека для создания веб приложений с интерактивной визуализаций исследований.</li><li>Caret, randomForest, Mlr и т. д. — десятки библиотек с методами машинного обучения. Один из них точно сработает.</li></ul><h2>Python vs. R в Data Science: что лучше?</h2><p>Оба языка обладают своими достоинствами и недостатками. Подойти может любой из них, всё зависит от ваших задач. Вот некоторые моменты, которые могут помочь с выбором:</p><ol><li>Программировали ли вы уже на других языках? Если да, то, возможно вам потребуется некоторое время, чтобы привыкнуть к R. Python гораздо более привычен, за исключением некоторых нюансов.</li><li>Планируете ли вы работать в научной области, или склоняетесь к тому, чтобы быть ближе к практике? Python больше приближен к продакшену и чаще применяется в коммерческих проектах. В то же время, в академических кругах большей популярностью пользуется R.</li><li>Хотите ли вы прокачать кругозор в методах машинного обучения? Или вам достаточно будет ознакомиться с несколькими наиболее популярными методами и больше времени посвятить, например, алгоритмам обработки больших данных? В первом случае вам однозначно нужен R, во втором — больше возможностей вы найдёте в Python.</li><li>Хотите ли вы заниматься внедрением своих разработок, и программировать что-либо кроме предикторов? Если да, то Python вам подойдёт лучше, но скорее всего понадобится и что-то ещё (например Java, Scala или C++).</li></ol><p>Если вы пока не знаете ни Python, ни R, но при этом хотите работать в IT, начать вам может помочь <a href="https://tprg.ru/WnUr">курс «Профессия Data Scientist»</a> от SkillFactory. Там вы сможете за 2 года стать middle Data scientist с нуля. Курс ориентирован на практические задачи и его можно совмещать с работой или учёбой.</p>P.S. По промокоду Tproger2020 до 15.10 действует скидка 50%<p></p>]]></content:encoded>
    </item>
    <item>
      <title>Курс «Анализ данных на R в примерах и задачах»</title>
      <link>https://tproger.ru/video/data-analysis-in-r</link>
      <comments>https://tproger.ru/video/data-analysis-in-r?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Марьяна Шабанова]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/video/data-analysis-in-r</guid>
      <description><![CDATA[<p>Русскоязычный курс Computer Science Center знакомит с R и охватывает кластерный анализ, проверку гипотез, регрессию, прогнозирование и машинное обучение.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/video/data-analysis-in-r">Курс «Анализ данных на R в примерах и задачах»</a>»</p>]]></description>
      <category><![CDATA[Язык R]]></category>
      <category><![CDATA[Анализ данных]]></category>
      <category><![CDATA[Обучающие курсы]]></category>
      <category><![CDATA[Data Science]]></category>
      <category><![CDATA[Видео]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Thu, 12 Oct 2017 18:08:43 GMT</pubDate>
      <content:encoded><![CDATA[<p>Русскоязычный курс от Computer Science Center, посвященный базовым элементам программирования на языке R.</p><p>В данном обширном видеокурсе рассматриваются такие темы, как кластерный анализ, проверка статистических гипотез, линейный регрессионный анализ, прогнозирование, машинное обучение и многое другое.</p><p>Еще больше материалов по языку R вы можете найти в <a href="https://tproger.ru/tag/r-language/">соответствующей рубрике.</a></p>]]></content:encoded>
    </item>
    <item>
      <title>Курс «Основы программирования на R»</title>
      <link>https://tproger.ru/video/r-lang</link>
      <comments>https://tproger.ru/video/r-lang?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Марьяна Шабанова]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/video/r-lang</guid>
      <description><![CDATA[<p>Русскоязычный курс знакомит с базовыми принципами R, векторами и строками, сильными и слабыми сторонами языка и поиском и решением проблем.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/video/r-lang">Курс «Основы программирования на R»</a>»</p>]]></description>
      <category><![CDATA[Для начинающих]]></category>
      <category><![CDATA[Язык R]]></category>
      <category><![CDATA[Видео]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Tue, 26 Sep 2017 20:20:51 GMT</pubDate>
      <content:encoded><![CDATA[<p>Русскоязычный курс, посвященный базовым принципам R — языка программирования для статистической обработки данных и работы с графикой.<br />Автор рассказывает о сильных и слабых сторонах этого языка и ставит целью курса плавный переход от основных понятий до сложных алгоритмов. В данном курсе особое внимание уделено векторам и строкам, а также предлагаются рекомендации о поиске и решении проблем в этом языке и рассматриваются основные вопросы новичка.</p><p>Смотрите <a href="https://tproger.ru/tag/r-language/">ещё больше материалов по языку R.</a></p>]]></content:encoded>
    </item>
    <item>
      <title>Python и R в анализе данных: основные различия и сценарии использования</title>
      <link>https://tproger.ru/sponsored/python-vs-r-data-science</link>
      <comments>https://tproger.ru/sponsored/python-vs-r-data-science?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Vladimir Gabrinevski]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/sponsored/python-vs-r-data-science</guid>
      <description><![CDATA[<p>Python применяют в веб-разработке, играх и анализе данных, а R создан для наукоёмких задач; выбор зависит от рабочих задач и способа вывода данных.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/sponsored/python-vs-r-data-science">Python и R в анализе данных: основные различия и сценарии использования</a>»</p>]]></description>
      <category><![CDATA[Для начинающих]]></category>
      <category><![CDATA[Язык R]]></category>
      <category><![CDATA[Python]]></category>
      <category><![CDATA[Спонсорское]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Fri, 25 Aug 2017 15:15:37 GMT</pubDate>
      <content:encoded><![CDATA[<p>Python и R — наиболее популярные и удобные языки программирования в области анализа данных. В этой статье рассмотрим различия между R и Python и расскажем, какое они занимают место в анализе данных и статистике.</p><h2>R и Python: общая информация</h2><p>Python и R используются по-разному. У Python широкая область применения: его можно в веб-разработке, создании игр, анализе данных и многом другом. R — это язык, разработанный для наукоемких задач и анализа данных.</p><h2>Когда использовать R?</h2><p>R раньше использовался прежде всего в научных исследованиях, однако сейчас он быстро распространяется на корпоративный рынок ввиду растущей популярности BigData.</p><p>Плюсы языка:</p><ul><li>R позволяет работать с большими объемами данных.</li><li>Статистические модели пишутся в несколько строк.</li><li>Работа со сложными вычислениями значительно упрощена.</li></ul><h2>Когда использовать Python?</h2><p>Python используют программисты, которые:</p><ul><li>Хотят быстро вникнуть в анализ данных.</li><li>При этом являются новичками в анализе данных.</li><li>Работают со статистическими методами.</li></ul><p>Простой синтаксис позволяет без затруднений писать и отлаживать код. Разработчику на Python проще вывести информацию или визуализировать данные на сайте или в веб-приложении.</p><p>Сейчас R остается самым популярным языком программирования для задачи анализа данных, но часть специалистов переключаются на Python, так как с его помощью удобнее выводить данные или аналитику на веб-страницы и в приложениях.</p><p>По данным superjob.ru, спрос на специалистов по анализу данных сейчас растет — заработная плата начинается от 70 000 рублей.</p><h2>R или Python?</h2><p>Ваша задача — выбрать язык, который будет эффективно решать рабочие задачи. Вопросы, которые могут вам помочь:</p><ul><li>Какие задачи вы хотите решать?</li><li>Каковы чистые затраты на изучение языка?</li><li>Какие инструменты используются в вашей области?</li></ul><h2>Как сделать выбор новичку?</h2><p>Если ранее вы не занимались анализом данных, рекомендуем вам начать с Python, начав изучать его на <a href="https://geekbrains.ru/geek_university/python?utm_medium=adv_post&amp;utm_source=tproger.ru&amp;utm_campaign=23.08.17|geek_university_python">факультете Python-разработки</a>, где вы можете обучиться языку Python до продвинутого уровня. Вы научитесь:</p><ul><li>Уверенно использовать различные возможности Python.</li><li>Применять принципы объектно-ориентированного программирования при разработке приложений.</li><li>Обеспечивать взаимодействие приложений Python с базами данных.</li></ul><p><a href="https://geekbrains.ru/geek_university/python?utm_medium=adv_post&amp;utm_source=tproger.ru&amp;utm_campaign=23.08.17|geek_university_python">Начните свой путь в анализе данных с обучения языку Python в онлайн-университете от Mail.Ru Group!</a></p>]]></content:encoded>
    </item>
  </channel>
</rss>