在R中使用“crossprod”时回收?

在R中使用“crossprod”时回收?,r,function,R,Function,虽然我的函数工作正常,但我想知道在运行我的简单函数时如何避免下面的警告 警告消息:在numer/denom中:循环长度为1的数组 不推荐使用向量数组算法。使用c()或as.vector() 相反 qq警告出现在return功能中 试一试 原因是denom是一个矩阵,number是一个原子向量。 我还以为不会有警告,但你做的手术似乎已经贬值了 qq <- function(f, df1, df2, N){ denom <- crossprod(df1, f) + df2

虽然我的函数工作正常,但我想知道在运行我的简单函数时如何避免下面的警告

警告消息:在numer/denom中:循环长度为1的数组 不推荐使用向量数组算法。使用c()或as.vector() 相反


qq警告出现在
return
功能中

试一试

原因是
denom
是一个矩阵,
number
是一个原子向量。 我还以为不会有警告,但你做的手术似乎已经贬值了

qq <- function(f, df1, df2, N){
       denom <- crossprod(df1, f) + df2 + 1  # I suspect warning is from here?
       numer <-  (df1 * (f - 1))
       return(numer / denom)
}

# Example of use:
qq(f = c(84.11, 4.05, 8.38), df1 = c(3, 1, 3), df2 = 24, N = 32)
return(numer / as.numeric(denom))