R 中 运行 单行代码的快捷方式

Shortcut for running a single line of code in R

有谁知道如何在 R Studio 中创建键盘快捷键或类似于 运行 单行诊断代码的内容?也就是说,如果我想做一些简单的事情,比如检查数据框的尺寸,但我想整天做很多事情并且不想不断地输入 dim(data),我怎么能得到 dim(data ) 到键盘快捷键或其他一些快速简便的方法来调用该单行代码?

R本身做不到。不过,您的编辑器也许可以(我知道 Vim + Vim-R 可以做这样的事情)。

您可以在 R 中做的是 bind a function to an active binding。这样,无论何时调用绑定,它都会执行您的代码。举例说明:

makeActiveBinding('x', function () dim(data), globalenv())

现在,只要您在 R 控制台中输入 x,它就会执行 dim(data)

您可以尝试使用 RStudio 中的代码片段功能(工具 -> 全局选项...调出下面的菜单)。然后您可以添加一个片段,例如下面的代码块。

snippet d
   dim(data)

保存代码段后,您可以键入 d(或您在 snippet 之后定义的任何其他字符串)。然后按 Tab 键,RStudio 将为您提供用代码段中列出的代码替换快捷方式字符串的选项(此处 dim(data))。

除了像 dim 语句这样简单的东西,可能还有其他选择。付出的努力可能会多于增值。

普通的R终端有反向增量搜索功能,让重复的事情变得简单。按 Ctrl-R 并开始输入,它将与您的历史记录相匹配。在此示例中,我输入了 "di",它足以找到我最后一次调用的 "dim":

> x=matrix(1:12,3,4)
> dim(x)
[1] 3 4
> y=runif(100)
> dim(x)
[1] 3 4
# hit Ctrl-R at the prompt and type "d"... "i"....
(reverse-i-search)`di': dim(x)

我现在可以打 return,它会为我做 dim(x)。事实上,它在 "d" 处找到了它,因为在历史记录中没有其他以 "d!" 开头的东西。

Emacs-ESS 中有类似的东西,但我不认为你正在使用它。我不知道这是否在 RStudio、StatET、Architect、RCmdr 或您可能正在使用的任何其他 R 接口中实现。我认为 RStudio 可能有一个快速的历史搜索。