【发布时间】:2014-12-24 18:25:07
【问题描述】:
当我加载我创建的包时,我收到以下警告:
“以下对象被‘package:utils’:combn 屏蔽”
即使我在 R 工作目录中“R”文件夹的 .R 文件中的函数定义中使用了 combinat::combn。
有没有办法摆脱“...对象被...掩盖”警告? (我根本不想掩盖 combn ;请参阅下面 Gregor 的帖子。)
我在我的包中的函数定义中添加了“combinat::”前缀,只要我想使用combinat的combn,就不会收到上述警告(combinat::combn与utils::combn的混合)。
gctemplate 是包 causfinder 的一个功能(对于那些想要掌握该功能的人,我删除了“combinat::”;当我在函数gctemplate,我还是收到了上面的警告):
#' gctemplate
#'
#' Granger causality template for a given system in the desired pattern.
#'
#' Assume a system in which its Granger causality relations among its variables will be searched is given. For the variables of this system (with nvars variables), some varibles may cause (causers, like independents) some others (those that are caused by causers, like dependents) conditional on some others in the system. The function gctemplate has three arguements to list all the possible causation pattern in which Granger causality will be searched. As is known, dependent and independent variables are not specified in the beginning of a Granger analysis, the analysis reveals them.
#'
#' @param nvars integer. The number of all the variables in a given system.
#' @param ncausers integer. The selected number of causer (independent-like) variables
#' @param ndependents integer. The selected number of variables that are caused by the causers, number of dependent-like variables
#' @return granger causality template
#' @author Erdogan Cevher erdogancevher@@gmail.com
#' @seealso \code{\link{conditionalGb}}
#' @examples
#' ## List all G-causalities in a VAR system of 5 variables that will be searched in the pattern of 1
#' ## causer (like-independent) variable and 2 like-dependents conditional on 5-(1+2)=2 of the remaining
#' ## variable(s) in the system. Varibles are assigned to numbers 1 to nvars.
#' ## "1 2 5 3 4" in the rsulting line of gctemplate is to indicate the
#' ## (conditonal, partial, etc.) G-causality from variable 1 to varibles 2 and 5
#' ## conditonal on variables 3 and 4.
#' # gctemplate(5,1,2)
#' ## The number of all G-causalities to be searched in the above pattern.
#' #dim(gctemplate(5,1,2))[[1]]
#' @importFrom combinat combn
#' @export
gctemplate <- function(nvars, ncausers, ndependents){
independents <- combn(nvars, ncausers)
patinajnumber <- dim(combn(nvars - ncausers, ndependents))[[2]]
independentspatinajednumber <- dim(combn(nvars, ncausers))[[2]]*patinajnumber
dependents <- matrix(, nrow = dim(combn(nvars, ncausers))[[2]]*patinajnumber, ncol = ndependents)
for (i in as.integer(1:dim(combn(nvars, ncausers))[[2]])){
dependents[(patinajnumber*(i-1)+1):(patinajnumber*i),] <- t(combn(setdiff(seq(1:nvars), independents[,i]), ndependents))
}
independentspatinajed <- matrix(, nrow = dim(combn(nvars, ncausers))[[2]]*patinajnumber, ncol = ncausers)
for (i in as.integer(1:dim(combn(nvars, ncausers))[[2]])){
for (j in as.integer(1:patinajnumber)){
independentspatinajed[(i-1)*patinajnumber+j,] <- independents[,i]
}}
independentsdependents <- cbind(independentspatinajed, dependents)
others <- matrix(, nrow = dim(combn(nvars, ncausers))[[2]]*patinajnumber, ncol = nvars - ncausers - ndependents)
for (i in as.integer(1:((dim(combn(nvars, ncausers))[[2]])*patinajnumber))){
others[i, ] <- setdiff(seq(1:nvars), independentsdependents[i,])
}
causalitiestemplate <- cbind(independentsdependents, others)
causalitiestemplate
}
以下是DESCRIPTION文件的内容:
Package: causfinder
Type: Package
Title: A visual analyser for pairwise and multivariate conditional and partial
Granger causalities. For a list of documented functions, use library(help =
"causfinder")
Version: 2.0
Date: 2014-10-05
Author: Erdogan CEVHER <erdogancevher@gmail.com>
Maintainer: Erdogan CEVHER <erdogancevher@gmail.com>
Description: Given a system of finite number of variables with their data in a
matrix, the functions in the causfinder package analyze the pairwise and
multivariate conditional and partial Granger causalities in a systematic
and overall approach. By "overall approach" we mean that all the
G-causalities among the variables in a certain desired pattern are
calculated (the user then can retrieve his/her G-causality in interest as
one element of the pattern). This pattern may correspond to pairwise or
multivariate Granger causalities. Some of the functions in the package use
bootstrapping whereas some others not. The analysis of the Granger
causalities are performed via various ways; i.e., presenting the F
statistics, p values, lower bounds and upper bounds of the bootstrapping
values etc., and via presenting various plots and grid matrixes. For a list
of documented functions, use library(help = "causfinder")
Depends:
R (>= 3.0.2)
Imports:
np(>= 0.50-1),RColorBrewer(>= 1.0-5),grid,scales(>= 0.2.4),boot(>= 1.3-11),calibrate(>= 1.7.2),combinat(>= 0.0-8),corpcor(>= 1.6.6)
License: GPL (>= 3)
LazyLoad: yes
LazyData: yes
URL: https://github.com/erdogancevher/causfinder
注意: 将combinat 包的combn 函数重命名为commbnn 并将其内容(其.R 文件等)放到我的包R 文件夹中;并且应用 rexoginzation 程序可能不会导致上述警告。我试图获得的只是防止警告的系统方法,而不是我在本说明中描述的非常棘手/漫长的方法。
【问题讨论】:
-
您可以将自己的函数重命名为其他名称,或者不将其从您的包中导出。如果您加载的包导出的函数名称与已加载的包相同,则会出现该错误(
utils是默认包)。 -
我会投票赞成不使用
combn,除非您设计了一个仅扩展utils::combn的功能和调用语法的函数。这是一个相当基本的功能,除非您只是在点的右侧添加命名参数,否则不应该使用它。 (但这不是错误,只是警告。) -
也许这个问题-答案可以提供帮助:Disable messages upon loading package in R
-
我怀疑您正在调用另一个具有名为该函数的包,并且您正在导入整个包。在这种情况下,您只想导入所需的功能。
-
如果 (a) 你不介意屏蔽
combn,你只是不想看到关于它的警告,或者 (b) 你不介意根本不想屏蔽combn并且遇到了麻烦。