тестуванням і оптимізацією R беруть участь тисячі розробників і користувачів з усього світу , що забезпечує високу якість і надійність програм, а так само високі темпи поява нових виправлених і оптимізованих версій як самої системи R, так і підвантажуваних модулів.
На думку авторів, в даний час система К є найбільш потужною і зручною системою для всебічного аналізу і обробки даних.
У цьому зв'язку цілком логічним можна вважати твердження, що для вирішення задач подібного роду вибір, очевидно, лягати на R. Насправді це не зовсім так. R дійсно простий і зручний в задачах, коли дослідник точно знає послідовність своїх дій. Багато в чому це означає, що дослідник досконально знає дані, з якими він працює, а також їх особливості. Це в свою чергу означає, що дослідник знає і методи, які йому знадобляться для отримання необхідного результату. У такому випадку, все що потрібно це викликати відповідну R функцію. Насправді, на самому початку роботи з даними нам відомо про них або дуже мало, або зовсім нічого і тому стадії застосування конкретних методів передує величезна робота, пов'язана з розвідувальним аналізом. Це передбачає роботу не зі статистичними методами, а з самими даними - реалізацією великої кількості різних припущень з їх перетворенню, попередній обробці і т. д. У таких умовах дуже актуальними стають такі питання як рівень володіння використовуваним засобом маніпуляції з даними, ефективність використовуваних засобів з точки зору швидкості їх реалізації, ступінь їх орієнтації на роботу з цілими масивами даних, а не з окремими скалярними значеннями-числами і т. д. Рішенням подібної конфліктної ситуації може служити наступний підхід: «підключити» функціональність R до вже знайомого і ефективному засобу маніпуляції з даними. Таким чином маючи функціональність базової мови програмування в незмінному вигляді ми додатково отримуємо доступ до функціональності R!
Подібне рішення ставати можливим в силу наступної особливості R. Переважна більшість методів і алгоритмів, доступних для використання в R реалізовані у вигляді оптимізованих, скомпільованих і готових до використання бібліотек функцій, написаних на мовах С і Fortran. Таким чином, якщо базова платформа аналізу містить у собі можливості виклику зовнішніх бібліотек, стає можливим побудова потужного спільного засоби аналізу даних, що поєднує в собі швидкість і налагодженість функцій R з ефективністю попередньої маніпуляції даними в знайомому середовищі. В якості одного з варіантів базової платформи авторами використаний мова програмування Dyalog APL.
3.2 Мова програмування APL
АПЛ (APL, від A Programming Language, - мова програмування) був в основному розроблено в 1962 році Кеннетом Айверсоном, минулого професором Гарвардського університету, який перейшов у фірму IBM <# «justify"> rexec «cl <- kmeans (x, 2, 20) »
являє собою набір результатів застосування функції kmeans, а саме: самі класи, їх розміри і центри.
Для того, щоб витягти необхідний результат, наприклад самі класи, використовується наступна команда
rexec «cl $ cluster»
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 <...