Исходный код вики Анализ и визуализация данных в Corpwiki (XWiki) с применением языка R
Скрыть последних авторов
author | version | line-number | content |
---|---|---|---|
![]() |
13.1 | 1 | (% style="text-align:center" %) |
2 | [[image:CorpwikiR.png||height="450" width="800"]] | ||
3 | |||
![]() |
1.3 | 4 | == Что такое язык программирования R == |
![]() |
1.1 | 5 | |
![]() |
1.5 | 6 | **R - язык программирования, созданный специально для статистического анализа данных**. Его разработали на факультете статистики Оклендского университета. |
![]() |
1.1 | 7 | |
![]() |
1.3 | 8 | **Особенности языка R**: |
9 | |||
![]() |
1.5 | 10 | * **Интерпретируемый**. Программа на языке R сразу готова к исполнению — её не нужно собирать в исполняемый файл с помощью компилятора. |
11 | * **Простой по синтаксису**. R в своей основе не содержит сложных конструкций и запутанных функций. Даже типов данных у него всего четыре: символьные, числовые, логические и комплексные. | ||
12 | * **Рабочая среда**. В R встроены готовые методы статистического анализа и инструменты для визуализации. | ||
![]() |
1.3 | 13 | |
![]() |
1.5 | 14 | **Сфера применения языка R**: математики, биологи, генетики и другие учёные, которым нужно проводить статистические исследования и строить модели. Также R востребован среди аналитиков данных и специалистов по Data Science. |
![]() |
1.3 | 15 | |
![]() |
1.5 | 16 | **Распространение**: язык и среда доступны под лицензией GNU GPL. Распространяются в виде исходных кодов, а также откомпилированных приложений под ряд операционных систем. |
![]() |
1.3 | 17 | |
18 | == Какая польза от использования языка R в бизнесе == | ||
19 | |||
![]() |
1.12 | 20 | С точки зрения бизнеса разработку приложений для анализа данных на языке R можно считать почти идеальным решением: |
![]() |
1.11 | 21 | |
![]() |
1.12 | 22 | 1. Отсутствуют какие-либо финансовые барьеры для начала использования: |
23 | 1*. Не надо никаких первоначальный вложений в лицензии. | ||
24 | 1*. Нет никаких лицензионных ограничений и проблем потенциального расширения. | ||
25 | 1*. Нет никаких ежегодных платежей за поддержку лицензий. | ||
26 | 1*. Все прекрасно работает на linux, нет необходимости в приобретении дополнительных ОС. | ||
27 | 1. Если ваши внешние системы выдают необходимую информацию, то этого уже достаточно для начала проекта. **Сопутствующие проекты по доработке не требуются**, все можно будет сделать на уровне аналитики. | ||
28 | 1. Уже есть доказанная практика применения R в бизнесе практически во всех вертикалях. | ||
29 | 1. Не надо планировать глобальный проект, достаточно начать с частных проблемных мест. | ||
30 | 1*. Проекты получаются компактными и быстрыми, результаты легко переводятся в деньги (заработанные или сэкономленные). | ||
31 | 1*. Полученные результаты позволяют взглянуть на существующие задачи под иным углом зрения, обнаружить реальные проблемы и расставить акценты в более правильном виде. | ||
32 | |||
![]() |
15.1 | 33 | (% class="box successmessage" %) |
![]() |
16.1 | 34 | ((( |
![]() |
19.1 | 35 | {{icon name="info-circle" size="2x"}}{{/icon}} **Если ваши корпоративные приложения умеют "отдавать" данные в любом виде, этого уже достаточно для их обработки в R** |
![]() |
15.1 | 36 | Доработка ваших систем не потребуется! |
![]() |
19.1 | 37 | |
38 | Вся обработка данных может быть выполнена на стороне приложения R. | ||
39 | |||
40 | Ввиду того что, данный язык изначально создан для работы с данными, приложения на нем получаются быстро, они компактные и понятные. | ||
![]() |
15.1 | 41 | ))) |
42 | |||
![]() |
1.5 | 43 | == Что умеют приложения на R == |
44 | |||
![]() |
1.17 | 45 | * Импорт данных из различных источников.** txt\csv**, **xls **(Excel), web scrapping, RDBMS. |
![]() |
1.5 | 46 | * Обработка данных: фильтрация, группировка, агрегирование, добавление и вычисление. |
47 | * Временной анализ (как правило, 80% данных сопровождаются временными метками). | ||
![]() |
1.13 | 48 | * Расширенная обработка (элементы высшей математики, включая элементы машинного обучения): Наиболее популярен поиск аномалий, различные классификаторы, рекомендации и прогнозирование и Process mining. |
![]() |
1.6 | 49 | * Визуализация данных различными способами. |
50 | * Интеграция с внешними информационными системами для экспорта рассчитанных данных. | ||
51 | * Экспорт в форматы, удобные для восприятия человеком, такие как: **pdf**, **html**, **xls**, **doc**, **ppt**. | ||
52 | * Web-base рабочее место для аналитика\рядового пользователя. | ||
53 | |||
![]() |
1.5 | 54 | Приведенный функционал доступен в рамках экосистемы R без особой необходимости инсталляции каких-либо дополнительных сторонних компонент. |
55 | |||
![]() |
18.1 | 56 | (% class="box infomessage" %) |
57 | ((( | ||
![]() |
19.1 | 58 | {{icon name="info-circle" size="2x"}}{{/icon}} **Фактически, ваша база знаний может использоваться как BI система** |
![]() |
18.1 | 59 | Но в отличии от дорогих и сложных в внедрении систем подобного класса, вы сможете получить результаты быстро. |
60 | Рецепт успеха прост: | ||
61 | |||
62 | * Создать страницу в вашей базе знаний. | ||
63 | * Разместить на ней код вызова приложения R. | ||
64 | * Создать приложение R например в RStudio. | ||
65 | * Разместить его в сервисе генерации. | ||
66 | ))) | ||
67 | |||
![]() |
1.3 | 68 | == Как работает интеграция между Corpwiki (XWiki) и приложениями на языке R == |
69 | |||
![]() |
1.17 | 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 | |||
![]() |
20.1 | 96 | (% class="box successmessage" %) |
97 | ((( | ||
98 | {{icon name="info-circle" size="2x"}}{{/icon}} **Созданная инфографика является интерактивной** | ||
![]() |
1.17 | 99 | |
![]() |
1.18 | 100 | Другими словами есть возможность добавлять элементы управления на такие страницы и пользователи в режиме реального времени могут изменять настройки отображения. |
![]() |
1.17 | 101 | |
![]() |
20.1 | 102 | Кроме того есть возможность дополнительной обработки введенных данных. |
103 | |||
104 | Таким образом можно не только показывать данные "как есть" но и реализовать модели вида "как будет". | ||
105 | |||
106 | Например отобразить график зависимости чистой прибыли от численности персонала основываясь на средней выработке и медианном значении заработной платы сотрудников. | ||
107 | ))) | ||
108 | |||
![]() |
6.2 | 109 | === Внешние данные === |
![]() |
1.18 | 110 | |
111 | Как можно увидеть на схеме, данные могут быть получены не только из объектов данных XWiki но и из любых внешних источников данных. | ||
112 | |||
113 | Это могут быть корпоративные приложения, базы данных, файлы Excel и тому подобное. | ||
114 | |||
115 | Данные из разных систем можно объединять и использовать для формирования отчетности и инфографики. | ||
116 | |||
117 | Таким образом вы сможете превратить вашу базу знаний в витрину данных или BI систему. | ||
118 | |||
119 | Посмотрите в разделе примеров какие возможности дает для отображения данных данный подход. | ||
120 | |||
![]() |
1.3 | 121 | == Примеры результатов работы приложений на языке R == |
122 | |||
![]() |
20.1 | 123 | Ниже мы разместили галерею скриншотов приложений и графиков созданных с применением языка R. |
124 | |||
125 | Любое из представленных решений, и любой график могут быть реализованы в вашей вики системе Corpwiki (XWiki). | ||
126 | |||
![]() |
21.1 | 127 | === Живой пример === |
128 | |||
129 | (% class="box successmessage" %) | ||
130 | ((( | ||
131 | {{icon name="info-circle" size="2x"}}{{/icon}} Попробуйте воспользоваться настройками в правой части диаграммы. | ||
132 | Обратите внимание на то как меняется диаграмма при изменении настроек. | ||
133 | Попробуйте фильтр "по годам" или то как можно скрыть\отобразить панель настроек (треугольник выше заголовка "Настройки") | ||
134 | ))) | ||
135 | |||
136 | {{html}} | ||
137 | <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> | ||
138 | {{/html}} | ||
139 | |||
140 | === Скриншоты возможных решений === | ||
141 | |||
![]() |
12.1 | 142 | {{gallery height="600px" width="100%"}} |
![]() |
6.2 | 143 | image:Stati.Integratsii.Integratsiia-Corpwiki-XWiki-i-prilozhenii-na-iazyke-R.WebHome@XWikiR1.png |
144 | image:Stati.Integratsii.Integratsiia-Corpwiki-XWiki-i-prilozhenii-na-iazyke-R.WebHome@XWikiR2.png | ||
145 | image:Stati.Integratsii.Integratsiia-Corpwiki-XWiki-i-prilozhenii-na-iazyke-R.WebHome@XWikiR3.png | ||
146 | image:Stati.Integratsii.Integratsiia-Corpwiki-XWiki-i-prilozhenii-na-iazyke-R.WebHome@XWikiR4.png | ||
![]() |
12.1 | 147 | image:Stati.Integratsii.Integratsiia-Corpwiki-XWiki-i-prilozhenii-na-iazyke-R.WebHome@XWikiR5.png |
148 | image:Stati.Integratsii.Integratsiia-Corpwiki-XWiki-i-prilozhenii-na-iazyke-R.WebHome@XWikiR6.png | ||
149 | image:Stati.Integratsii.Integratsiia-Corpwiki-XWiki-i-prilozhenii-na-iazyke-R.WebHome@XWikiR7.png | ||
150 | image:Stati.Integratsii.Integratsiia-Corpwiki-XWiki-i-prilozhenii-na-iazyke-R.WebHome@XWikiR8.png | ||
![]() |
6.2 | 151 | {{/gallery}} |
![]() |
1.3 | 152 | |
![]() |
22.1 | 153 | |
154 | **Применение подобного подхода позволяет реализовать и более сложные интерфейсы и сценарии.** | ||
155 | |||
156 | **Об этом наша другая статья: [[Альтернативные интерфейсы для Corpwiki (XWiki)>>doc:Stati.Interfeis.Alternativnye-interfeisy-dlia-Corpwiki-XWiki.WebHome]]** | ||
157 | |||
![]() |
1.1 | 158 | ---- |
159 | |||
160 | {{cl-plate-help/}} | ||
![]() |
22.1 | 161 | |
162 |