Последние авторы
1 (% style="text-align:center" %)
2 [[image:CorpwikiR.png||height="450" width="800"]]
3
4 == Что такое язык программирования R ==
5
6 **R - язык программирования, созданный специально для статистического анализа данных**. Его разработали на факультете статистики Оклендского университета.
7
8 **Особенности языка R**:
9
10 * **Интерпретируемый**. Программа на языке R сразу готова к исполнению — её не нужно собирать в исполняемый файл с помощью компилятора.
11 * **Простой по синтаксису**. R в своей основе не содержит сложных конструкций и запутанных функций. Даже типов данных у него всего четыре: символьные, числовые, логические и комплексные.
12 * **Рабочая среда**. В R встроены готовые методы статистического анализа и инструменты для визуализации.
13
14 **Сфера применения языка R**: математики, биологи, генетики и другие учёные, которым нужно проводить статистические исследования и строить модели. Также R востребован среди аналитиков данных и специалистов по Data Science.
15
16 **Распространение**: язык и среда доступны под лицензией GNU GPL. Распространяются в виде исходных кодов, а также откомпилированных приложений под ряд операционных систем.
17
18 == Какая польза от использования языка R в бизнесе ==
19
20 С точки зрения бизнеса разработку приложений для анализа данных на языке R можно считать почти идеальным решением:
21
22 1. Отсутствуют какие-либо финансовые барьеры для начала использования:
23 1*. Не надо никаких первоначальный вложений в лицензии.
24 1*. Нет никаких лицензионных ограничений и проблем потенциального расширения.
25 1*. Нет никаких ежегодных платежей за поддержку лицензий.
26 1*. Все прекрасно работает на linux, нет необходимости в приобретении дополнительных ОС.
27 1. Если ваши внешние системы выдают необходимую информацию, то этого уже достаточно для начала проекта. **Сопутствующие проекты по доработке не требуются**, все можно будет сделать на уровне аналитики.
28 1. Уже есть доказанная практика применения R в бизнесе практически во всех вертикалях.
29 1. Не надо планировать глобальный проект, достаточно начать с частных проблемных мест.
30 1*. Проекты получаются компактными и быстрыми, результаты легко переводятся в деньги (заработанные или сэкономленные).
31 1*. Полученные результаты позволяют взглянуть на существующие задачи под иным углом зрения, обнаружить реальные проблемы и расставить акценты в более правильном виде.
32
33 (% class="box successmessage" %)
34 (((
35 {{icon name="info-circle" size="2x"}}{{/icon}} **Если ваши корпоративные приложения умеют "отдавать" данные в любом виде, этого уже достаточно для их обработки в R**
36 Доработка ваших систем не потребуется!
37
38 Вся обработка данных может быть выполнена на стороне приложения R.
39
40 Ввиду того что, данный язык изначально создан для работы с данными, приложения на нем получаются быстро, они компактные и понятные.
41 )))
42
43 == Что умеют приложения на R ==
44
45 * Импорт данных из различных источников.** txt\csv**, **xls **(Excel), web scrapping, RDBMS.
46 * Обработка данных: фильтрация, группировка, агрегирование, добавление и вычисление.
47 * Временной анализ (как правило, 80% данных сопровождаются временными метками).
48 * Расширенная обработка (элементы высшей математики, включая элементы машинного обучения): Наиболее популярен поиск аномалий, различные классификаторы, рекомендации и прогнозирование и Process mining.
49 * Визуализация данных различными способами.
50 * Интеграция с внешними информационными системами для экспорта рассчитанных данных.
51 * Экспорт в форматы, удобные для восприятия человеком, такие как: **pdf**, **html**, **xls**, **doc**, **ppt**.
52 * Web-base рабочее место для аналитика\рядового пользователя.
53
54 Приведенный функционал доступен в рамках экосистемы R без особой необходимости инсталляции каких-либо дополнительных сторонних компонент.
55
56 (% class="box infomessage" %)
57 (((
58 {{icon name="info-circle" size="2x"}}{{/icon}} **Фактически, ваша база знаний может использоваться как BI система**
59 Но в отличии от дорогих и сложных в внедрении систем подобного класса, вы сможете получить результаты быстро.
60 Рецепт успеха прост:
61
62 * Создать страницу в вашей базе знаний.
63 * Разместить на ней код вызова приложения R.
64 * Создать приложение R например в RStudio.
65 * Разместить его в сервисе генерации.
66 )))
67
68 == Как работает интеграция между Corpwiki (XWiki) и приложениями на языке R ==
69
70 Мы в Corpwiki разработали подход позволяющий использовать всю мощь приложений написанных на языке R в XWiki.
71
72 Это позволяет не только обогатить содержание баз знаний (корпоративных вики) визуально привлекательной инфографикой но и реализовать много интересных с точки зрения бизнеса решений.
73
74 Схематично процесс взаимодействия выглядит следующим образом:
75
76 [[image:Внешние данные.png||height="848" width="1200"]]
77
78 На страницу XWiki встраивается небольшой кусочек кода.
79
80 При обращении пользователя к такой странице, она запрашивает данные у сервиса обработки.
81
82 Данный сервис устанавливается "рядом" с XWiki и если например, ваша база знаний расположена на ваших серверах, то вы сможете также разместить данный сервис у  себя.
83
84 Безопасность корпоративных данных гарантирована.
85
86 Сервис обращается уже к XWiki откуда "забирает" данные для формирования отчетов или графики.
87
88 Такие данные могут забираться "в сыром" виде.
89
90 Вся обработка данных (фильтрация, группировка, вычисления, обогащение) происходят на стороне сервиса.
91
92 После того как данные готовы для отображения, система возвращает их в XWiki и пользователь видит готовый результат.
93
94 Для пользователя все выглядит так как будто он просто открыл страницу.
95
96 [[image:1733135160839-173.png]]
97
98 (% class="box successmessage" %)
99 (((
100 {{icon name="info-circle" size="2x"}}{{/icon}} **Созданная инфографика является интерактивной**
101
102 Другими словами есть возможность добавлять элементы управления на такие страницы и пользователи в режиме реального времени могут изменять настройки отображения.
103
104 Кроме того есть возможность дополнительной обработки введенных данных.
105
106 Таким образом можно не только показывать данные "как есть" но и реализовать модели вида "как будет".
107
108 Например отобразить график зависимости чистой прибыли от численности персонала основываясь на средней выработке и медианном значении заработной платы сотрудников.
109 )))
110
111 === Внешние данные ===
112
113 Как можно увидеть на схеме, данные могут быть получены не только из объектов данных XWiki но и из любых внешних источников данных.
114
115 Это могут быть корпоративные приложения, базы данных, файлы Excel и тому подобное.
116
117 Данные из разных систем можно объединять и использовать для формирования отчетности и инфографики.
118
119 Таким образом вы сможете превратить вашу базу знаний в витрину данных или BI систему.
120
121 Посмотрите в разделе примеров какие возможности дает для отображения данных данный подход.
122
123 == Примеры результатов работы приложений на языке R ==
124
125 Ниже мы разместили галерею скриншотов приложений и графиков созданных с применением языка R.
126
127 Любое из представленных решений, и любой график могут быть реализованы в вашей вики системе Corpwiki (XWiki).
128
129
130 {{velocity}}
131 #* Ваш velocity-код здесь *#
132 ##
133 ##=== Живой пример ===
134 ##
135 ##(% class="box successmessage" %)
136 ##(((
137 ##{{icon name="info-circle" size="2x"}}{{/icon}} Попробуйте воспользоваться настройками в правой части диаграммы.
138 ##Обратите внимание на то как меняется диаграмма при изменении настроек.
139 ##Попробуйте фильтр "по годам" или то как можно скрыть\отобразить панель настроек (треугольник выше заголовка "Настройки")
140 ##)))
141 ##
142 ##{{html}}
143 ##<iframe src="https://shiny.corpwiki.ru/apps/7d68a672-bac2-4ca7-8be7-169760ce103b/" style="border:0px #ffffff none;" name="testXWR" scrolling="no" ##frameborder="1" marginheight="10px" marginwidth="0px" width="100%" height="700px" allowfullscreen></iframe>
144 ##{{/html}}
145 ##
146 {{/velocity}}
147
148 === Скриншоты возможных решений ===
149
150 {{gallery height="600px" width="100%"}}
151 image:Stati.Integratsii.Integratsiia-Corpwiki-XWiki-i-prilozhenii-na-iazyke-R.WebHome@XWikiR1.png
152 image:Stati.Integratsii.Integratsiia-Corpwiki-XWiki-i-prilozhenii-na-iazyke-R.WebHome@XWikiR2.png
153 image:Stati.Integratsii.Integratsiia-Corpwiki-XWiki-i-prilozhenii-na-iazyke-R.WebHome@XWikiR3.png
154 image:Stati.Integratsii.Integratsiia-Corpwiki-XWiki-i-prilozhenii-na-iazyke-R.WebHome@XWikiR4.png
155 image:Stati.Integratsii.Integratsiia-Corpwiki-XWiki-i-prilozhenii-na-iazyke-R.WebHome@XWikiR5.png
156 image:Stati.Integratsii.Integratsiia-Corpwiki-XWiki-i-prilozhenii-na-iazyke-R.WebHome@XWikiR6.png
157 image:Stati.Integratsii.Integratsiia-Corpwiki-XWiki-i-prilozhenii-na-iazyke-R.WebHome@XWikiR7.png
158 image:Stati.Integratsii.Integratsiia-Corpwiki-XWiki-i-prilozhenii-na-iazyke-R.WebHome@XWikiR8.png
159 {{/gallery}}
160
161
162 **Применение подобного подхода позволяет реализовать и более сложные интерфейсы и сценарии.**
163
164 **Об этом наша другая статья:  [[Альтернативные интерфейсы для Corpwiki (XWiki)>>doc:Stati.Interfeis.Alternativnye-interfeisy-dlia-Corpwiki-XWiki.WebHome]]**
165
166 ----
167
168 {{cl-plate-help/}}