Как пользоваться онлайн-компилятором R
- Напишите или вставьте скрипт на R в редактор. Кнопка Сбросить пример возвращает стартовый скрипт, который выводит сводку по вектору, строит линейную модель и рисует график.
- Нажмите Запустить или используйте Ctrl + Enter (⌘ + Enter на Mac). Весь скрипт выполняется сверху вниз.
- Смотрите результат на панели Результат. Текст выводится так же, как в консоли R, а все нарисованные графики показываются ниже в виде изображений.
- Выберите Ограничение времени: 5, 15 или 60 секунд. Скрипт, который работает дольше, останавливается, а кнопка Остановить прерывает его в любой момент.
При первом запуске загружается сам R, около 25 МБ, так что подождите несколько секунд. При следующих визитах он загружается из кэша браузера. Сохранить работу можно кнопкой Копировать или скачиванием файла main.R, размер шрифта меняется кнопками A− и A+, расположение панелей (рядом или друг над другом) переключается кнопкой макета, а Полноэкранный режим (Ctrl/⌘ + Shift + F, выход — Esc) пригодится, когда нужно больше места для длинного скрипта и его графиков.
R работает полностью в вашем браузере. Ваш скрипт и данные не отправляются ни на какой сервер, а редактор хранит последний скрипт только в локальном хранилище вашего браузера.
Что поддерживается
Страница запускает R 4.6.0 через webR 0.6 — официальную сборку R для WebAssembly. Это настоящий интерпретатор R, поэтому функции, векторы, факторы, списки и датафреймы ведут себя так же, как в RStudio или консоли R.
- Вывод как в консоли: значение на отдельной строке выводится автоматически, как при вводе после приглашения
>. Также работаютprint(),cat()иmessage(). - Ошибки и предупреждения от
stop(),warning()и самого R показываются в выводе. - Базовая графика:
plot(),hist(),barplot(),boxplot(),lines(),abline(),legend()и другие. Каждый график появляется на панели результата как изображение 720×450. - Базовый R и рекомендуемые пакеты, входящие в webR, включая функции
stats(lm(),t.test(),cor(),quantile()) и встроенные наборы данных, напримерmtcarsиiris.
Ограничения:
install.packages()на этой странице не поддерживается, поэтому пакеты из CRAN, такие как ggplot2 или dplyr, недоступны. Пользуйтесь базовым R.- Нет интерактивного ввода.
readline()иscan()с клавиатуры использовать нельзя, поэтому задавайте данные прямо в скрипте. - Нет доступа к файлам на вашем компьютере. Чтобы загрузить небольшой CSV, вставленный в скрипт, используйте
read.csv(text = "...").
Краткое знакомство с R на примере
# Vectors are the basic unit, and operations work element by element
x <- c(4, 8, 15, 16, 23, 42)
x * 2
mean(x); median(x)
x[x > 10] # logical indexing
# Data frames hold tables
df <- data.frame(
hours = c(1, 2, 3, 4, 5, 6),
score = c(52, 58, 65, 70, 74, 83)
)
str(df)
# Fit a linear model and inspect it
fit <- lm(score ~ hours, data = df)
summary(fit)
predict(fit, newdata = data.frame(hours = 7))
# Plot the data and the fitted line
plot(df$hours, df$score, pch = 19, xlab = "Hours studied", ylab = "Score")
abline(fit, col = "red", lwd = 2)
summary(fit) выводит коэффициенты, их стандартные ошибки и p-значения, а также R-квадрат. Вызов abline(fit) рисует линию регрессии поверх диаграммы рассеяния, и изображение появляется сразу после текстового вывода.
Советы и частые ошибки
- В R индексация начинается с 1, а
x[0]молча возвращает пустой вектор, а не ошибку. - Внутри цикла или функции значения не выводятся автоматически. Оборачивайте их в
print(). - Для присваивания используйте
<-, для сравнения —==.=тоже присваивает на верхнем уровне, но смешение двух стилей затрудняет чтение скриптов. - Пропущенные значения распространяются:
mean(c(1, NA, 3))равноNA. Чтобы их игнорировать, передайтеna.rm = TRUE. - Функции со случайными числами, такие как
rnorm()иsample(), при каждом запуске дают разные результаты. Чтобы вывод повторялся, сначала вызовитеset.seed(42).
par(mfrow = c(1, 2)) перед командами построения.Частые вопросы
Какая версия R используется?
R 4.6.0, работающий на webR 0.6. Чтобы убедиться, выполните R.version.string.
Можно ли использовать ggplot2, dplyr или tidyverse?
Нет. Установка пакетов на этой странице не поддерживается. Базовый R позволяет работать с датафреймами, агрегировать данные (aggregate(), tapply()), строить модели и графики, а этого достаточно для большинства упражнений.
Где появляются мои графики?
На панели результата, после текстового вывода, в виде изображений 720×450. Каждый новый вызов высокого уровня, такой как plot() или hist(), начинает новое изображение.
Можно ли запускать здесь другие языки для работы с данными?
Попробуйте онлайн-компилятор Python для NumPy и pandas или онлайн-компилятор SQL для запросов. Все варианты собраны в разделе Онлайн-компиляторы.
Обновлено