R函数 - 默认值不起作用?

时间:2013-10-03 01:00:34

标签: r

我真的很喜欢R.请允许我问一个初学者的问题。

例如,当我键入p.adjust时,我可以看到以下内容。看来参数方法默认是p.adjust.methods。我尝试跟踪代码,但是当我输入类似的内容时:

match.arg(p.adjust.methods)

它说:

  

match.arg(p.adjust.methods)中的错误:'arg'的长度必须为1

为什么?

> p.adjust
function (p, method = p.adjust.methods, n = length(p)) 
{
    method <- match.arg(method)
    ...
}

1 个答案:

答案 0 :(得分:6)

match.arg函数在其一个参数形式的交互模式下不起作用,因为没有任何内容可以匹配。第一个参数预计是长度为1的字符向量,并且针对已知方法进行测试_inside_the_function _:

> ?p.adjust
> p.adjust.methods
[1] "holm"       "hochberg"   "hommel"     "bonferroni" "BH"         "BY"         "fdr"       
[8] "none"     

(如果使用位置匹配,p.adjust的第一个参数需要是p值的向量。)