R中与加载gsl软件包有关的错误

时间:2020-04-27 20:43:34

标签: r function error-handling arguments gsl

这可能是一个非常特殊的问题,但是我创建了这个函数(请参见下文),每次尝试使用else语句以普通= FALSE aka运行它时,都会出现以下错误:加载所需的名称空间: gsl 失败,错误:“没有名为“ gsl”的软件包” 如果normal = TRUE,我不会收到错误。 我尝试安装gsl软件包,但无法执行。你们中的一个人知道为什么首先出现错误术语吗? 谢谢你的帮助!

  if(normal==TRUE){
    moments1 <- c(mean=0, variance=var1, skewness=0, kurtosis=3.0)
    moments2 <- c(mean=0+(-es*(sqrt(((sample1-1) *(var1)+(sample2-1)*(var2))/(sample1+sample2-2)))), variance=var2, skewness=0, kurtosis=3.0)
  } else{
    moments1 <- c(mean=0, variance=var1, skewness=0.5, kurtosis=5.0)
    moments2 <- c(mean=0+(-es*(sqrt(((sample1-1) *(var1)+(sample2-1)*(var2))/(sample1+sample2-2)))), variance=var2, skewness=0.5, kurtosis=5.0)
  }
  gen1 <- rpearson(n=sample1, moments=moments1)
  gen2 <- rpearson(n=sample2, moments=moments2)
  Y <- c(gen1, gen2)
  group <- as.factor(c(rep(1, times=length(gen1)), rep(2, times=length(gen2))))
  SimData <- data.frame(Y,group)
  return(SimData)
}

1 个答案:

答案 0 :(得分:0)

如果查看the code of rpearson,您会发现该函数调用了辅助函数rpearson0rpearsonIrpearsonII,...或rpearsonVII ,具体取决于paramsmoments参数。

现在,rpearsonIV函数将调用gsl::lngamma_complex函数。因此,要使用此功能,您需要gsl软件包。