有没有一种方法可以将记录在案的R代码粘贴到R控制台或Rstudio中,而不必注册箭头或加号?

有没有一种方法可以将记录在案的R代码粘贴到R控制台或Rstudio中,而不必注册箭头或加号?,r,R,通过一个例子,这将更有意义。CRAN的典型R手册显示R代码,代码行以>开头,缩进以+。看见 举个例子 问题是,如果不将其复制到编辑器中并删除这些箭头和加号字符,就无法将其剪切并粘贴到控制台中。有没有更简单的方法将文本作为R代码执行?我想一定有人处理过这个问题。否则,我想我会写一个脚本。已经写完了 cleantract现在有一个很好的RStudio插件名为miscelper(),它的一个函数就是这样做的。将其作为插件的好处是,您可以将其转换为键盘快捷键。通常粘贴是Ctrl+V,因此我需要从控制台

通过一个例子,这将更有意义。CRAN的典型R手册显示R代码,代码行以>开头,缩进以+。看见 举个例子


问题是,如果不将其复制到编辑器中并删除这些箭头和加号字符,就无法将其剪切并粘贴到控制台中。有没有更简单的方法将文本作为R代码执行?我想一定有人处理过这个问题。否则,我想我会写一个脚本。

已经写完了


cleantract现在有一个很好的
RStudio
插件
名为
miscelper
(),它的一个函数就是这样做的。将其作为
插件的好处是,您可以将其转换为键盘快捷键。通常粘贴是
Ctrl+V
,因此我需要从控制台将脚本/代码复制为
Ctrl+B
。它粘贴代码,例如:

> x <- 3
> switch(x, 2+2, mean(1:10), rnorm(5))
[1]  2.2903605  2.3271663 -0.7060073  1.3622045 -0.2892720


> centre <- function(x, type) {
+ switch(type,
+        mean = mean(x),
+        median = median(x),
+        trimmed = mean(x, trim = .1))
+ }
> x <- rcauchy(10)
> centre(x, "mean")
[1] 0.8760325
>x开关(x,2+2,平均值(1:10),形式(5))
[1]  2.2903605  2.3271663 -0.7060073  1.3622045 -0.2892720
>中心x中心(x,“平均值”)
[1] 0.8760325
进入:


在RGui中,有一个“仅粘贴命令”的选项。那就是Windows RGui。我不知道如何在R-Studio中执行,但“仅粘贴命令”在R中有效。至少在Windows中是这样。如果R工作室有办法做到这一点,它会很方便。我想是的,我只是还没有找到它。@Glen_b:这是Windows R GUI的一种行为,在任何操作系统实现中,它都不存在于香草R控制台中。如果将来看到它被添加到RStudie中,我不会感到惊讶,但据我所知,它还没有出现。
process.source <- function(action = c("both", "run", "show"), echo = TRUE,
    max.deparse.length = Inf, ...) { 
    # This is the Mac input strategy
    L <- readLines(pipe("pbpaste"))
    #  for Windows devices use
    #  L <- readLines("clipboard")
    rx <- "^[[:blank:]]*[^>+[:blank:]]*[>+]" 
    is.cmd <- grepl(rx, L) 
    L[is.cmd] <- gsub(paste(rx, "?"), "", L[is.cmd]) 
    L[!is.cmd] <- paste("#", L[!is.cmd]) 
    action <- match.arg(action) 
  if (action != "run") for(el in L) cat(el, "\n") 
  if (action == "both") cat("##################################\n") 
  if (action != "show") 
       source(textConnection(L), echo = echo, 
       max.deparse.length = max.deparse.length, ...) 
invisible(L) }
> x <- 3
> switch(x, 2+2, mean(1:10), rnorm(5))
[1]  2.2903605  2.3271663 -0.7060073  1.3622045 -0.2892720


> centre <- function(x, type) {
+ switch(type,
+        mean = mean(x),
+        median = median(x),
+        trimmed = mean(x, trim = .1))
+ }
> x <- rcauchy(10)
> centre(x, "mean")
[1] 0.8760325
x <- 3
switch(x, 2+2, mean(1:10), rnorm(5))
# [1]  2.2903605  2.3271663 -0.7060073  1.3622045 -0.2892720


centre <- function(x, type) {
  switch(type,
         mean = mean(x),
         median = median(x),
         trimmed = mean(x, trim = .1))
  }
x <- rcauchy(10)
centre(x, "mean")
# [1] 0.8760325