首页 > 解决方案 > R 中涉及加载 gsl 包的错误

问题描述

这可能是一个非常特殊的问题,但我有这个函数(见下文),我创建了这个函数,每次我尝试使用 else 语句以正常 =FALSE aka 运行它时,我都会收到以下错误:Loading required namespace: gsl Failed with错误:'没有名为'gsl'的包'如果正常= 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)
}

标签: rfunctionerror-handlingargumentsgsl

解决方案


如果您查看代码,rpearson您可以看到此函数调用辅助函数rpearson0rpearsonIrpearsonII、 ... 或rpearsonVII,具体取决于paramsmoments参数。

现在,该rpearsonIV函数调用该gsl::lngamma_complex函数。所以为了使用这个功能,你需要这个gsl包。


推荐阅读