乐于分享
好东西不私藏

RStudio AI 免费助手:llmcoder

RStudio AI 免费助手:llmcoder

如果你是一位 R 语言用户,很可能经历过以下时刻:

  • 你在写代码,却忘了某个函数的确切语法
  • 列表项你的代码报错了,而你正盯着一条令人困惑的错误信息
  • 列表项你有一段代码,但想用通俗易懂的语言理解它的作用
  • 列表项你想与 AI 助手聊一聊你的数据分析,但又不想离开 RStudio llmcoder 是一个 RStudio 插件,它通过将大型语言模型(LLM)辅助功能直接集成到你的 RStudio 工作流中,解决了以上所有问题。更重要的是,它是免费的! 在这篇文章中,我将向你展示 llmcoder 如何加速你的 R 语言编码,并让你的工作流程更加顺畅。

安装

你可以从GitHub安装llmcoder:

# 如果你尚未安装 remotes,请先安装install.packages("remotes")# 安装 llmcoderremotes::install_github("ShiyangZheng/llmcoder")

加载包:

library(llmcoder)

功能1:从行内注释生成R代码

你是否想过,只需要通俗的语言输入你的需求,就得立即得到R代码?

使用方法

  1. 列表项输入一条注释,描述你想要实现的功能
  2. 列表项将光标放在该行上
  3. 列表项使用R中的" Addins"插件,选择 "Generate Code from Comment" 
  4. 在此前提下,我们需要调用Deepseek,我觉得Deepseek的性价比比较高,特别是我们国内的用户而言。
# 设置提供商为 DeepSeekoptions(llmcoder.provider = "deepseek")# 设置你的 API 密钥(将 "你的API密钥" 替换为刚才复制的真实密钥)Sys.setenv(LLMCODER_API_KEY = "你的API密钥")

示例

# 加载 mtcars 数据集,并创建一个以 mpg 对 wt 的散点图,按气缸数着色

运行该插件后,注释被替换为以下代码:

data(mtcars)ggplot(mtcars, aes(x = wt, y = mpg, color = factor(cyl))) +  geom_point(size = 3, alpha = 0.7) +  labs(x = "Weight (1000 lbs)", y = "Miles per Gallon", color = "Cylinders") +  theme_minimal()

观看视频:

已关注
关注
重播 分享

再也不用切换到deepseek中复制代码了!

功能2:借助 LLM 辅助修复控制台错误

我们都经历过——面对一条晦涩难懂的错误信息,却不知道哪里出了问题。

使用方法

  1. 运行产生错误的代码
  2. 错误信息出现在控制台中
  3. 列表项使用R中的" Addins"插件,选择 "Fix Error with LLM"

示例

library(dplyr)data %>%  filter(cyl == 4) %>%  summary()# Error: object 'data' not found

llmcoder 会捕获该错误并将其发送给 LLM,LLM 会返回解释并建议:

mtcars %>% filter(cyl == 4) %>% summary()

功能3:用通俗英语解释选中的代码

有时你会继承同事的代码,或者找到一个 Stack Overflow 上的答案,并想理解它的作用。

使用方法

  1. 在编辑器中选中一段代码块
  2. 列表项使用R中的" Addins"插件,选择 "Explain Code"

示例

mtcars %>%  group_by(cyl) %>%  summarize(    mean_mpg = mean(mpg, na.rm = TRUE),    sd_mpg = sd(mpg, na.rm = TRUE),    count = n()  ) %>%  arrange(desc(mean_mpg))

llmcoder 返回解释:

  1. 列表项获取内置的 mtcars 数据集
  2. 列表项按气缸数(cyl)对数据进行分组
  3. 列表项计算每组每加仑英里数(mpg)的均值和标准差
  4. 列表项按平均燃料效率降序排列结果

功能4:带会话上下文的多轮聊天面板

这是旗舰级功能。llmcoder 包含一个 聊天面板,它能理解你当前的 R 会话状态。

使用方法

列表项使用R中的" Addins"插件,选择 "Open Chat Panel" 它的特别之处是什么?

  • 列表项聊天面板是具有会话感知能力的:
  • 列表项它知道你已经加载了哪些包
  • 列表项它知道你的全局环境中存在哪些对象
  • 列表项它可以读取你当前脚本的内容
  • 列表项它可以访问你最近的控制台历史记录

对话示例

你: mtcars 中 mpg 和 wt 之间的相关性是多少? 

AI: mtcars 数据集中 mpg 和 wt 之间的相关性为 -0.87,表明存在强烈的负相关关系。随着重量增加,燃料效率降低。 如下图所示:

为什么选择 llmcoder?

市面上有很多 AI 编码助手(如 Copilot、Cursor 等),为什么要选择 llmcoder?

  1. 列表项原生 RStudio 集成:无需切换到其他应用或浏览器标签页;
  2. 列表项具有会话感知能力:LLM 知道你当前正在处理什么;
  3. 列表项多种 LLM 提供商:选择你偏好的那一个(或使用本地模型保护隐私);
  4. 列表项开源:MIT 许可证,可免费使用和修改;
  5. 列表项专为 R 用户设计:不是通用的编码助手——它理解 R 特定的工作流。

真的很强!