На этой странице

Консоль R

DataSuite 2 включает полноценную консоль R на основе WebR — R, работающего целиком в браузере. Нажмите кнопку Консоль R (иконка монитора) в верхней панели, чтобы открыть её.

Зачем использовать консоль?

Каждый запущенный в DataSuite анализ выводит свой R-код в консоль. При нажатии кнопки «Рассчитать» в любом модуле в консоли появляются фактические команды R — те же, что вы написали бы сами в RStudio или любой другой R-среде.

Это позволяет:

  • Учиться R на примерах — запустить анализ через интерфейс, а затем прочитать сгенерированный код, чтобы понять, что происходит «под капотом»
  • Проверить методологию — увидеть, какие именно функции, параметры и поправки были применены
  • Изменить и перезапустить — скопировать команду из вывода консоли, модифицировать её (другие параметры, другую спецификацию модели) и выполнить напрямую
  • Выйти за рамки интерфейса — встроенные модули охватывают распространённые анализы, но возможности R значительно шире. Консоль открывает доступ ко всему, чего нет в модулях.

Знать R для работы с DataSuite не обязательно — но если вам интересно, консоль всегда рядом: она показывает, что происходит, и позволяет взять управление в свои руки.

Выполнение команд

Введите R-код в поле ввода и нажмите Enter (или кнопку Выполнить). Результаты появятся в области вывода консоли выше.

  • Shift+Enter — перенос строки для многострочного ввода
  • Стрелки вверх/вниз — навигация по истории команд (до 50 команд, сохраняется между сессиями)
mean(c(1, 2, 3, 4, 5))

Слэш-команды

Введите /, чтобы увидеть список специальных команд. Для навигации используйте стрелки вверх/вниз, для автодополнения — Tab.

/data — загрузить набор данных в R

Делает текущий набор данных DataSuite доступным в виде фрейма данных с именем df. После выполнения команды можно использовать стандартные функции R:

/data
summary(df)
head(df)
str(df)

Фрейм данных включает все переменные, выбранные в DataSuite, с учётом активных фильтров и преобразований.

/output <переменная> — вывести результаты в раздел вывода

Принимает R-переменную и отображает её в виде форматированной карточки результатов рядом с другими анализами.

model <- lm(Score ~ Age + Group, data = df)
/output model

Разные типы данных отображаются по-разному:

  • Фреймы данных и матрицы — форматированные таблицы
  • Именованные векторы — таблицы «ключ — значение»
  • Короткие неименованные векторы — значения через запятую
  • Длинные векторы (20+ элементов) — усечённый список с указанием количества
  • Списки — рекурсивный вывод, каждый именованный элемент в отдельном подразделе

/upload — загрузить внешний файл

Открывает диалог выбора файла для загрузки в виртуальную файловую систему R (в директорию /home/web_user/). После этого файл можно прочитать из R:

/upload
external_data <- read.csv("myfile.csv")

/download <имя_файла> — скачать файл из R

Скачивает файл из виртуальной файловой системы R на ваш компьютер:

write.csv(results, "output.csv")
/download output.csv

Если файл не найден, консоль предложит выполнить list.files(), чтобы посмотреть, какие файлы доступны.

/clear — очистить вывод консоли

Очищает область вывода консоли. Сама сессия R и переменные при этом не затрагиваются.

/reset — перезапустить R

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

/clearplots — очистить галерею графиков

Удаляет все графики из вкладки Графики (см. графики ниже).

/outputplot [n] — отправить график в результаты

Отправляет график в раздел вывода в виде карточки результатов. Без аргумента — отправляет последний график. С числом (например, /outputplot 3) — указанный график. С аргументом all — все графики из галереи.

/help — показать доступные команды

Отображает список всех слэш-команд и ссылки на документацию по R:

Графики

Модальное окно консоли имеет две вкладки: Консоль и Графики. При выполнении команды построения графика (например, plot(1:10), hist(df$Score)) результат отображается в галерее вкладки Графики. Каждый график нумеруется (#1, #2, …). Если новый график появляется, пока вы просматриваете вкладку «Консоль», на вкладке «Графики» появляется индикатор уведомления.

Используйте /outputplot, чтобы отправить графики в основной раздел вывода, или /clearplots, чтобы очистить галерею.

Формульная нотация R

Многие функции R — включая lm(), glm(), t.test(), aov() и функции построения графиков — используют формулу для описания связей между переменными. Общий вид: отклик ~ предикторы, читается как «отклик моделируется предикторами». Модуль регрессии и анализ путей в DataSuite используют ту же нотацию.

Операторы

Оператор Значение Пример Раскрывается в
~ «моделируется» — разделяет левую (отклик) и правую (предикторы) части Y ~ X Y предсказывается по X
+ добавить член Y ~ A + B основные эффекты A и B
- исключить член Y ~ A*B - A:B A и B без их взаимодействия
* пересечение — основные эффекты плюс взаимодействие Y ~ A * B A + B + A:B
: только взаимодействие (без основных эффектов) Y ~ A + B + A:B то же, что A * B
^ пересечение до указанной степени Y ~ (A + B + C)^2 все основные эффекты + все двухсторонние взаимодействия
I() «как есть» — буквальная арифметика Y ~ X + I(X^2) линейный и квадратичный члены
1 свободный член (включён по умолчанию) Y ~ X - 1 убрать свободный член
. все остальные переменные фрейма данных Y ~ . Y предсказывается по всем остальным столбцам

Типичные формулы

Простая регрессия — один предиктор:

Y ~ X

Множественная регрессия — несколько предикторов:

Y ~ A + B + C

Взаимодействие — зависит ли эффект A от B?

Y ~ A * B          # то же, что A + B + A:B

Полиномиальная модель — квадратичные или кубические члены:

Y ~ X + I(X^2)              # квадратичная
Y ~ X + I(X^2) + I(X^3)     # кубическая

Полный факториал — все взаимодействия до заданного порядка:

Y ~ (A + B + C)^2     # все основные эффекты + все двухсторонние взаимодействия
Y ~ A * B * C          # все основные + все двух- и трёхсторонние взаимодействия

Без свободного члена — линия через начало координат:

Y ~ X - 1

Всё сразу — предсказание по всем остальным столбцам:

Y ~ .

Когда использовать I(): операторы формул R (+, *, ^) имеют внутри формул специальные значения. Если нужна арифметическая операция — например, X в квадрате — оберните её в I(), чтобы R воспринял это как вычисление, а не формульный оператор. Y ~ X^2 означает «пересечение X с самим собой» (что просто X), тогда как Y ~ I(X^2) — «X в квадрате как предиктор».

Примеры

Изучить данные

/data
summary(df)           # описательный обзор всех переменных
table(df$Gender)      # таблица частот для категориальной переменной
cor(df$Age, df$Score) # быстрая корреляция между двумя переменными

Подобрать собственную модель

Встроенный модуль регрессии охватывает распространённые случаи, но R позволяет подобрать любую поддерживаемую им модель:

/data
model <- lm(Score ~ Age * Group + I(Age^2), data = df)
summary(model)

Используйте /output model, чтобы вывести результаты в виде форматированной карточки рядом с другими анализами.

Доработать сгенерированный анализ

Предположим, вы запустили t-критерий через интерфейс и в консоли появился код:

t.test(Score ~ Group, data = df, var.equal = FALSE)

Вы можете скопировать эту строку, изменить её и перезапустить — например, перейти к одностороннему критерию:

t.test(Score ~ Group, data = df, var.equal = FALSE, alternative = "greater")

Построить быстрый график

/data
hist(df$Score, main = "Распределение показателя", col = "steelblue")

График появится во вкладке Графики. Используйте /outputplot, чтобы отправить его в раздел вывода рядом с другими результатами.

Примечание: отрисовка графиков в WebR имеет ряд ограничений по сравнению с десктопным R. Базовые графики (hist, plot, boxplot, barplot) работают корректно.

Установить и использовать пакет

ds_library(psych)
/data
describe(df)

Вместо library() используйте ds_library(). Эта функция при необходимости автоматически устанавливает пакет, повторяет попытки при сетевых сбоях и при недоступности основного репозитория переключается на резервный. Большинство популярных пакетов доступны в виде WebR-скомпилированных версий, однако некоторые могут отсутствовать — см. раздел Важные замечания ниже.

Важные замечания

  • Это WebR, а не десктопный R. Базовый R и многие пакеты CRAN работают, однако некоторые пакеты, зависящие от системных библиотек или скомпилированного кода, могут быть недоступны. Если пакет не загружается, скорее всего, он ещё не скомпилирован для WebR.
  • help() и ? недоступны. Используйте example(functionName), чтобы посмотреть примеры использования, или обратитесь к ссылкам на документацию выше.
  • Сессия R временная. Переменные, загруженные пакеты и файлы виртуальной файловой системы не сохраняются после перезагрузки страницы. Используйте /download, чтобы сохранить нужные результаты. (История команд сохраняется между сессиями — см. выполнение команд.)
  • Консоль использует тот же движок R, что и модули анализа. Если запустить в консоли тяжёлое вычисление, встроенные анализы будут ждать его завершения (и наоборот).