R函数参数命名.sigm2 = sigm2_prior?

1 r

我浏览了R文档,但我找不到相关的线索.所以问题是,当分配l $ sigm2_prior时,似乎也分配了l $ sigm2.R是否像这样,因为它们的名字相似?有办法吗?

功能调用:

如果我将l $ sigm2_prior的名称更改为l $,则不会分配$ sigm2.

lik_gaussian(lik=lik[[1]],sigm2_prior=pn[[1]], debug=TRUE);
Run Code Online (Sandbox Code Playgroud)

功能:

lik_gaussian <-function(...){
l <- list(...);
inputarray <- NULL;
if(!(length(l$lik)==0)){
        inputarray <- c(l$lik); 
    }
if(!(length(l$sigm2)==0)){
                 inputarray <- c(inputarray, l$sigm2); 
    }   
if(!(length(l$sigm2_prior)==0)){
        inputarray <- c(inputarray,l$sigm2_prior); 
    }
print(inputarray);
return(inputarray)
}
Run Code Online (Sandbox Code Playgroud)

提前致谢.

Sac*_*amp 7

'$'操作者使用局部匹配.也就是说,如果你评价l$sigm2它实际上也会匹配l$sigm2_prior.要使用完全匹配,您需要使用'[['或将对象的名称作为字符串:

 l[['sigm2_prior']]
Run Code Online (Sandbox Code Playgroud)

'[['不同于'$'在它的exact设置参数TRUE的默认值.Se还:

?'$'
Run Code Online (Sandbox Code Playgroud)