JASP
统计 · 假设检验 · 可视化
点选做常见统计,界面接近教材,开源免费。
正在打开工具详情…
写 R 的桌面环境,统计课和可重复分析常用。
课程或论文用 R,需要脚本、图表和包管理在一个窗口。
完全不想写代码,只想点选,先看 JASP。
RStudio Desktop 是写 R 的集成环境,现在由 Posit 维护,名称也已从 RStudio 改为 Posit Desktop(开源版仍常被叫作 RStudio)。它把四件事放进一个窗口:脚本编辑器、控制台、环境变量与历史、文件与绘图面板。对用 R 做统计或数据分析的人,这四件事本来分散在终端、编辑器、文件管理器之间,合到一起之后「改一行、跑一下、看图、再改」的循环明显变短。
它的价值主要在工程化而不是语言本身。项目(Project)机制把工作目录、打开的文件、环境变量绑在一起,切换课题不用重新设路径;R Markdown 与后来的 Quarto 让代码、结果、文字排在同一份文档里,论文与报告可以直接从分析过程生成;包管理、调试器、Git 面板也都是为「把分析做成可复现的东西」服务的。想少写代码只看结果,JASP 更合适;要在浏览器里跑,Jupyter 更合适。
安装顺序有个坑:必须先装 R 本身(cran.r-project.org),再装 RStudio,反了打不开。两个都要从官方渠道下,发行版仓库里的 rstudio 有时版本偏旧。国内访问 CRAN 慢,可以在 R 里 options(repos=...) 换清华或中科大的镜像,装包时注意有些包需要编译工具链。
许可证是 AGPL-3.0。仓库 COPYING 写得很直接:除非你与 Posit 签了商业许可,RStudio 按 AGPLv3 授权给你。也就是说 Posit 同时提供商业版,网络服务场景用开源版要留意 AGPL 的 copyleft 要求。源码在 GitHub 的 rstudio/rstudio,星标约 5,084。Windows、macOS、Linux 都有构建。
上手步骤之外的具体做法:常见场景怎么配、命令怎么写、报错怎么处理。
用 Project 管项目、renv 锁依赖、Quarto 出报告,串起 RStudio 从「能跑脚本」到「可复现协作」的完整链路。
新手最常见的错误是在默认工作目录里写脚本,然后把数据丢在桌面。结果换台电脑就找不到文件。RStudio 的解法是 Project:一个 .Rproj 文件加一个文件夹,把工作目录自动切到该文件夹。
my-analysis/
my-analysis.Rproj
data/ # 原始数据,只读
scripts/ # 脚本
output/ # 生成的结果
renv/ # 依赖锁文件关键是原始数据与产出分离:data/ 只放原封不动的原始文件,清洗结果写到别处。这样数据被污染时能立刻回退。「Session > Set Working Directory > To Source File Location」能临时解决路径问题,但依赖打开方式,不适合长期方案。项目内一律用相对路径,配合 here 包更稳:
rlibrary(here)
dat <- read.csv(here("data", "survey.csv"))R 的包生态繁荣,但版本冲突是日常痛点 —— 同事跑得通的脚本在你机器上报错,八成是包版本不同。renv 为每个项目建立独立的包库:
rinstall.packages("renv")
renv::init() # 首次初始化,扫描现有依赖
renv::install("dplyr") # 装包并记录到项目库
renv::snapshot() # 依赖变更后重新拍快照
renv::restore() # 在新机器上还原协作时把 renv.lock 提交进 Git,队友 clone 后执行 renv::restore() 即可。不要提交 renv/library,那个目录体积巨大且平台相关。
项目涉及 Python 包时,reticulate 可以在同一个 Project 里管双语言依赖,但它依赖本机已装好的 Python 发行版,遇到 libpython 报错多半是这一步没配对。
新版 RStudio 内置了 Quarto(File > New File > Quarto Document)。相比 R Markdown 有两点优势:输出格式更多(HTML、PDF、DOCX、Reveal.js),且执行引擎独立于 RStudio,能在命令行用 quarto render 跑,适合放进 CI。
图表在 R 里生成后存文件,再由报告以相对路径引用:
rlibrary(ggplot2)
p <- ggplot(dat, aes(group, score)) + geom_boxplot()
ggsave("output/boxplot.png", p, width = 6, height = 4, dpi = 300)dpi: 300 这一步别省,低分辨率图在印刷或投影时会明显发虚。
遇到行为异常,按这个顺序排除,比直接搜 Stack Overflow 有效:
x 这类名字被反复赋值是常见污染源c("a","b") 与字符 "a" 后续行为差异很大?lm 查函数:直接打开帮助页,比搜索引擎准