外观
R 集群使用方法
R 是常用的统计分析、数据处理和绘图语言。集群中已通过 module 提供 R 环境,用户可以在申请到计算资源后加载 R 模块,进入 R 交互终端或提交 R 脚本运行。
不要在登录节点长时间运行 R 计算任务
登录节点适合编辑脚本、检查环境和少量测试。正式计算、批量分析或占用较多 CPU/内存的任务,请先通过 Slurm 申请计算节点。
交互式使用 R
如果需要临时调试代码或检查数据,可以先用 salloc 申请交互式资源。
示例:申请 1 个节点、8 个 CPU、16 GB 内存,最长运行 5 分钟。
bash
salloc -N 1 --cpus-per-task=8 --mem=16G -t 00:05:00 -p qcpu_18i资源分配成功后,终端会提示可用节点,例如:
text
salloc: Pending job allocation 273377
salloc: job 273377 queued and waiting for resources
salloc: job 273377 has been allocated resources
salloc: Granted job allocation 273377
salloc: Nodes bnode1 are ready for job登录到分配的计算节点:
bash
ssh bnode1加载 R 环境:
bash
module load R进入 R 交互终端:
bash
R简单测试:
r
print(1 + 2)输出示例:
text
[1] 3批量运行 R 脚本
正式任务建议把分析流程写成 .R 脚本,再通过 sbatch 提交。
示例脚本 analysis.R:
r
args <- commandArgs(trailingOnly = TRUE)
input_file <- args[1]
output_file <- args[2]
data <- read.csv(input_file)
summary_result <- summary(data)
sink(output_file)
print(summary_result)
sink()Slurm 作业脚本 run_r.slurm:
bash
#!/bin/bash
#SBATCH --job-name=r-analysis
#SBATCH --partition=qcpu_18i
#SBATCH --nodes=1
#SBATCH --cpus-per-task=8
#SBATCH --mem=16G
#SBATCH --time=02:00:00
#SBATCH --output=%x_%j.out
#SBATCH --error=%x_%j.err
set -euo pipefail
module purge
module load R
Rscript analysis.R input.csv result.txt提交任务:
bash
sbatch run_r.slurm查看作业状态:
bash
squeue -u $USER安装个人 R 包
如需安装 R 包,建议安装到个人目录,避免依赖系统目录权限。
进入 R 后执行:
r
dir.create("~/R/library", recursive = TRUE, showWarnings = FALSE)
.libPaths(c("~/R/library", .libPaths()))
install.packages("ggplot2", lib = "~/R/library")后续脚本中也可以显式指定个人库路径:
r
.libPaths(c("~/R/library", .libPaths()))
library(ggplot2)网络访问说明
如果安装包时需要访问外部 CRAN 镜像但网络不可用,可联系管理员协助配置镜像源,或在本地下载包后上传到集群安装。
视频示例

常见问题
module load R 后找不到 R
先运行 module list 确认 R 模块是否加载,再运行 which R 或 which Rscript 检查命令路径。
R 包安装失败
常见原因包括网络不可达、缺少编译依赖或没有写入权限。建议优先安装到个人目录,并查看错误日志中提示缺少的依赖。
R 任务运行很慢
确认任务是否真正使用了多核并行。仅申请多个 CPU 不代表 R 自动并行,需要代码或 R 包本身支持多线程/并行计算。
