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 可能有一个快速的历史搜索。
有谁知道如何在 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 可能有一个快速的历史搜索。