From ad8ef460d62666f9debe41090100fe61922ffc12 Mon Sep 17 00:00:00 2001 From: Steven Hobs <47906512+stevenhobs@users.noreply.github.com> Date: Wed, 20 Aug 2025 12:08:09 +0800 Subject: [PATCH] init --- .Rprofile | 8 +++++++ .gitignore | 1 + .lintr | 5 ++++ .vscode/settings.json | 27 ++++++++++++++++++++++ README.md | 53 +++++++++++++++++++++++++++++++++++++++++++ src/test-plot.R | 24 ++++++++++++++++++++ src/test-print.R | 15 ++++++++++++ 7 files changed, 133 insertions(+) create mode 100644 .Rprofile create mode 100644 .gitignore create mode 100644 .lintr create mode 100644 .vscode/settings.json create mode 100644 README.md create mode 100644 src/test-plot.R create mode 100644 src/test-print.R diff --git a/.Rprofile b/.Rprofile new file mode 100644 index 0000000..b3e8f33 --- /dev/null +++ b/.Rprofile @@ -0,0 +1,8 @@ +# R 配置 + +options("repos" = c(CRAN = "https://mirrors.cernet.edu.cn/CRAN/")) # 包的镜像源 + +if (Sys.getenv("VSCODE_DEBUG_SESSION") == "1") { # Debugger关联 + Sys.setenv(TERM_PROGRAM = "vscode") + source(file.path(Sys.getenv(if (.Platform$OS.type == "windows") "USERPROFILE" else "HOME"), ".vscode-R", "init.R")) +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3daa1c7 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/.conda/ \ No newline at end of file diff --git a/.lintr b/.lintr new file mode 100644 index 0000000..f2b0e1a --- /dev/null +++ b/.lintr @@ -0,0 +1,5 @@ +linters: linters_with_defaults( + line_length_linter(120), + object_usage_linter = NULL, + commented_code_linter = NULL + ) \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..5614ef2 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,27 @@ +/* VSCode 项目配置 */ +{ + "r.rpath.linux": "${workspaceFolder}/.conda/bin/R", + "r.rterm.linux": "${workspaceFolder}/.conda/bin/radian", + "r.rterm.option": [ + "--no-save", + "--no-restore", + "--r-binary=${workspaceFolder}/.conda/bin/R" + ], + "r.plot.useHttpgd": true, + "r.lsp.diagnostics": true, + "r.alwaysUseActiveTerminal": true, + "r.bracketedPaste": true, + "r.sessionWatcher": true, + "[r]": { + "editor.defaultFormatter": "REditorSupport.r", + "editor.formatOnSave": true + }, + "[rmd]": { + "editor.defaultFormatter": "REditorSupport.r", + "editor.formatOnSave": true + }, + // "terminal.integrated.defaultProfile.linux": "R Terminal", # 终端默认开启 R终端 + "files.eol": "\n", + "editor.tabSize": 2, + "editor.detectIndentation": false +} \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..2939c85 --- /dev/null +++ b/README.md @@ -0,0 +1,53 @@ +# Conda中的R语言环境 + +## 安装前提 + +- Linux / MacOS / WSL 系统 + +- VSCode 代码编辑器 + + 插件扩展安装: + + - R + - R Debugger + +- Miniforge / Miniconda / Anaconda 虚拟环境管理 + + > [!NOTE] + > 自行检查conda的镜像源配置,以加速库的下载安装。 + +- Git 代码同步工具 + +## 操作步骤 + +0. 克隆本项目到指定的位置 + + `git clone https://git.unvec.site/stevenhobs/R-with-Conda <项目路径>` + +1. 初始化conda虚拟环境 + + `conda create -p .conda -c conda-forge r-base r-languageserver r-devtools r-httpgd r-rlang r-jsonlite radian` + +2. 初始化R语言调试器,两种方式任选其一 + + - VSCode命令面板搜索执行 `R Debugger: Update or install the required R Package`进行安装R的VSC调试库 + + + + - 在R的控制台中执行指令 `devtools::install_github("ManuelHentschel/vscDebugger")` + + > [!NOTE] + > 此操作需要访问Github平台以获取源码编译安装,请确保 github.com 可正常访问 + +3. 库的安装 + + 确保在当前项目的`.conda`虚拟环境中,以下几种: + + - conda 命令 + + 查找包 `conda search -p .conda -c conda-forge r-包名`; + + 安装包 `conda install -p .conda -c conda-forge r-包名`; + + - 采用R控制台命令安装`​install.packages()​` + - VSCode R扩展提供的包管理视图 diff --git a/src/test-plot.R b/src/test-plot.R new file mode 100644 index 0000000..3541e47 --- /dev/null +++ b/src/test-plot.R @@ -0,0 +1,24 @@ +# 设置随机种子以便重现 +set.seed(123) + +# 生成示例数据 +x <- rnorm(100) # 生成 100 个正态分布随机数作为 x 值 +y <- rnorm(100) # 生成 100 个正态分布随机数作为 y 值 + +# 创建散点图 +plot(x, y, + main = "Scatter Plot of Random Data", # 图表标题 + xlab = "X-axis Label", # X 轴标签 + ylab = "Y-axis Label", # Y 轴标签 + col = "blue", # 点的颜色 + pch = 19 +) # 点的形状 + +# 添加回归线 +abline(lm(y ~ x), col = "red") # 添加线性回归线,红色 + +# 添加图例 +legend("topright", + legend = c("Data Points", "Regression Line"), + col = c("blue", "red"), pch = c(19, NA), lty = c(NA, 1) +) diff --git a/src/test-print.R b/src/test-print.R new file mode 100644 index 0000000..af159e5 --- /dev/null +++ b/src/test-print.R @@ -0,0 +1,15 @@ +# 创建一个数字向量 +numbers <- c(1, 2, 3, 4, 5) +print(numbers) + +# 创建一个字符向量 +fruits <- c("apple", "banana", "cherry") +print(fruits) + +# 创建一个数据框 +data <- data.frame( + Name = c("Alice", "Bob", "Charlie"), + Age = c(25, 30, 35), + Score = c(85.5, 90.0, 78.5) +) +print(data)