问题的症结与标题相同,
有人知道或者可以提供有关R中".variables"的信息吗?
.variable<-1 class(.variable) [1] 1 [1] "numeric"
据我所知,它就像一个隐藏的变量,因为它不会出现在R studio的全球环境中.
所以,重点是定义:
这是什么?
什么用于?
一些例子
HFBrowning.. 8
前缀点表示法R
指定了一个隐藏对象,ls
除非您使用,否则无法直接访问该对象ls(all.names = TRUE)
.这样做的目的是让R
包的开发人员有一些方法可以隐藏用户的功能实现细节,使他们的包更加用户友好,正如R-bloggers更全面地描述的那样(并且在链接腐烂的情况下简要引用) ):
让我们说你正在开发函数use_me().如果您希望用户控制的细节实际上是use_me()中使用的其他函数的参数,那么您可以使用...参数来简化您的函数.这个论点在R中的三点构造中得到了很好的解释(Burns,2013).它非常有用,可以大大简化您作为开发人员的生活.此外,它还缩短了帮助页面的长度,从而使您的包装更加用户友好.
但是,如果use_me()中的某些细节不是其他函数的参数,那么常见的策略是编写两个函数.一个是低级函数,带有可能导出或可能不导出的所有细节的参数.然后,编写第二个函数,它是低级函数的包装器,并为所有细节预先指定值.请参阅下一个最小示例:
# Don't export this function .use_me <- function(arg1, arg2, verbose = TRUE) { if(verbose) message(paste(Sys.time(), 'working')) pmax(arg1, arg2) } #' @export use_me <- function(arg1, ...) { .use_me(arg1, 0, ...) }
这与Python使用单个下划线非常类似,以防止自动从包中加载对象.在这两种情况下,这种做法似乎都是一种命名约定 - 在它们指定的用途之外(在R
这种情况下,将对象隐藏在环境中)并没有使用符号的任何其他结果(根据这篇文章的评论)至少,自己扫描文档后).
有关实际使用中的示例,请参阅colSums
或的帮助trace
.
前缀点表示法R
指定了一个隐藏对象,ls
除非您使用,否则无法直接访问该对象ls(all.names = TRUE)
.这样做的目的是让R
包的开发人员有一些方法可以隐藏用户的功能实现细节,使他们的包更加用户友好,正如R-bloggers更全面地描述的那样(并且在链接腐烂的情况下简要引用) ):
让我们说你正在开发函数use_me().如果您希望用户控制的细节实际上是use_me()中使用的其他函数的参数,那么您可以使用...参数来简化您的函数.这个论点在R中的三点构造中得到了很好的解释(Burns,2013).它非常有用,可以大大简化您作为开发人员的生活.此外,它还缩短了帮助页面的长度,从而使您的包装更加用户友好.
但是,如果use_me()中的某些细节不是其他函数的参数,那么常见的策略是编写两个函数.一个是低级函数,带有可能导出或可能不导出的所有细节的参数.然后,编写第二个函数,它是低级函数的包装器,并为所有细节预先指定值.请参阅下一个最小示例:
# Don't export this function .use_me <- function(arg1, arg2, verbose = TRUE) { if(verbose) message(paste(Sys.time(), 'working')) pmax(arg1, arg2) } #' @export use_me <- function(arg1, ...) { .use_me(arg1, 0, ...) }
这与Python使用单个下划线非常类似,以防止自动从包中加载对象.在这两种情况下,这种做法似乎都是一种命名约定 - 在它们指定的用途之外(在R
这种情况下,将对象隐藏在环境中)并没有使用符号的任何其他结果(根据这篇文章的评论)至少,自己扫描文档后).
有关实际使用中的示例,请参阅colSums
或的帮助trace
.