R语言在线编译器使用方法
- 在编辑器中编写或粘贴 R 脚本。点击重置示例可恢复初始脚本,它会汇总一个向量、拟合一个线性模型并绘制图表。
- 点击运行,或使用 Ctrl + Enter(Mac 上为 ⌘ + Enter)。整个脚本会从头到尾运行。
- 在输出面板中查看结果。文本的显示方式与在 R 控制台中完全一样,您绘制的任何图表会以图片形式显示在其下方。
- 选择 5 秒、15 秒或 60 秒的时间限制。运行时间超出限制的脚本会被停止,也可随时点击停止中断。
首次运行时需要下载 R 本身,大小约 25 MB,请稍等几秒。之后再访问会从浏览器缓存中加载。可用复制或下载 main.R 来保存您的工作,用 A− 和 A+ 调整字号,用布局按钮在并排与上下堆叠的面板之间切换,当长脚本及其图表需要更大空间时,请点击全屏(Ctrl/⌘ + Shift + F,按 Esc 退出)。
R 完全在您的浏览器中运行。您的脚本和数据不会发送到任何服务器,编辑器只会把您上次的脚本保存在浏览器的本地存储中。
支持的功能
本页通过 webR 0.6(R 的官方 WebAssembly 版本)运行 R 4.6.0。它就是真正的 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(),请在脚本中定义数据。 - 无法访问您电脑上的文件。请使用
read.csv(text = "...")加载粘贴在脚本中的小型 CSV。
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在线编译器。所有选项都列在在线编译器中。
更新于