R语言 我无法将GAM拟合到我的数据集,它有什么问题?

1dkrff03  于 2023-07-31  发布在  其他
关注(0)|答案(1)|浏览(113)

我试图通过测量眼点来收集帕金斯眼睛指数(PEI),以分析1月至6月期间的龙虾卵发育情况。
我有一个包含两个变量的数据集,Month,范围从1月到6月,PEI,范围从1到~600。通常PEI在300-600左右,但是一些卵的眼点没有发育,因此它们被赋予1的值。我每个月有40到240个PEI值的范围,我的数据集看起来像这样...
x1c 0d1x的数据
我正在使用mgcv软件包,我正试图适合一个GAM。
我的问题是,在我尝试安装GAM后,我一直收到此错误:

Error in smooth.construct.tp.smooth.spec(object, dk$data, dk$knots) : 
  NA/NaN/Inf in foreign function call (arg 1)
In addition: Warning messages:
1: In mean.default(xx) : argument is not numeric or logical: returning NA
2: In Ops.factor(xx, shift[i]) : ‘-’ not meaningful for factors

字符串
我确保月份是一个因素,有6个级别的正确顺序,我已经检查了缺失值,现在我不确定是什么错了。
请建议我的数据集是否适合GAM过程或解释我应该如何以不同的方式做到这一点,谢谢**
我使用的代码如下。。。

library(mgcv)

data <- read.csv("PEI.csv")

Month <- c("January", "February", "March", "April", "May", "June")

Month <- factor(Month, levels = c("January", "February", "March", "April", "May", "June"))

gam <- gam(PEI ~ s(Month), data = data)


然后我得到了错误…

Error in smooth.construct.tp.smooth.spec(object, dk$data, dk$knots) : 
  NA/NaN/Inf in foreign function call (arg 1)
In addition: Warning messages:
1: In mean.default(xx) : argument is not numeric or logical: returning NA
2: In Ops.factor(xx, shift[i]) : ‘-’ not meaningful for factors

yhuiod9q

yhuiod9q1#

如果定义了months <- c(January = 1, February = 2, March = 3, April =4, May = 5, June = 6),则可以运行

data$monthNo <- months[data$Month]
gam <- gam(formula = PEI ~ s(monthNo), data = data)

字符串

相关问题