我怎样才能找到我是如何首次声明某个变量的,当我从我第一次声明它的地方开始几百行时,例如,我已经声明如下:正在检索变量声明
a <- c(vectorA,vectorB,vectorC)
现在我想看看我是如何声明它的。我怎样才能做到这一点? 谢谢。
我怎样才能找到我是如何首次声明某个变量的,当我从我第一次声明它的地方开始几百行时,例如,我已经声明如下:正在检索变量声明
a <- c(vectorA,vectorB,vectorC)
现在我想看看我是如何声明它的。我怎样才能做到这一点? 谢谢。
你可以尝试使用history
命令:
history(pattern = "a <-")
,试图找到你的历史,你分配一些东西到变量a
线。不过,我认为这完全符合,所以你可能不得不留意空间。
事实上,如果你在命令行中键入history
,它似乎并没有做任何事情比保存当前历史的临时文件,在使用readLines
加载回,然后使用grep
搜索它票友。它应该是相当简单的修改功能,包括更多的功能...例如,这种修改将导致其返回匹配的行,以便您可以将其存储在一个变量:
myHistory <- function (max.show = 25, reverse = FALSE, pattern, ...)
{
file1 <- tempfile("Rrawhist")
savehistory(file1)
rawhist <- readLines(file1)
unlink(file1)
if (!missing(pattern))
rawhist <- unique(grep(pattern, rawhist, value = TRUE,
...))
nlines <- length(rawhist)
if (nlines) {
inds <- max(1, nlines - max.show):nlines
if (reverse)
inds <- rev(inds)
}
else inds <- integer()
#file2 <- tempfile("hist")
#writeLines(rawhist[inds], file2)
#file.show(file2, title = "R History", delete.file = TRUE)
rawhist[inds]
}
我会假设你正在使用默认的R控制台。如果您使用的是Windows,则可以使用文件 - >保存历史记录并在收藏夹文本浏览器中打开该文件,也可以使用功能savehistory()
(请参见help(savehistory)
)。
你需要做的是获得一个(好的)IDE,或者至少一个体面的文本编辑器。您将从代码折叠,语法着色等等中获益。 Tinn-R,VIM,ESS,Eclipse + StatET,RStudio或RevolutionR among others有很多选择。
我应该说我在Ubuntu上使用R。 – Dombey
您可以运行grep 'a<-' .Rhistory
从终端(假设你有cd
d到你的工作目录)。 ESS有几个非常有用的历史搜索功能,如(comint-history-isearch-backward-regexp)
- 默认绑定到M-r
。
如需进一步信息,请参考手册ESS:http://ess.r-project.org/Manual/ess.html
当你定义一个函数,R存储在名为“源”的属性的功能(保留格式和注释)的源代码。当你输入功能的名称时,你会得到这个内容打印。
但它没有用变量做到这一点。您可以对一个变量进行解压缩,该变量会生成一个将生成该变量值的表达式,但这不需要是原始表达式。例如,当您有b <- c(17, 5, 21)
时,deparse(b)
将产生字符串"c(17, 5, 21)"
。然而,在你的例子中,结果不会是“c(vectorA,vectorB,vectorC)”,它会是一个表达式,它产生你的三个向量的组合结果。
我不知道我理解你的问题。如果通过声明,你的意思是“这是什么”。也许你正在寻找像'?str'这样的东西...... str(a) –
我想检索“a <-c(vectorA,vectorB,vectorC)” - 如果可能的话,我首先声明它的方式。 – Dombey