我正在尝试探索mgcv包中的" gam“函数与gam包中的”gam“函数的不同之处。但是,我不能在一个R会话中同时运行两个gam函数。我认为如果我以mgcv::gam或gam::gam作为前缀,它将能够运行正确的函数,但看起来我必须分离mgcv才能运行gam包中的gam函数。 library(ISLR)
library(mgcv)
library(gam)
# I get an error message when it runs this
gam.m3 <- gam::gam(wage~s(year,4)+s(age,5)+education,data=Wage)
# N
在运行4.0版本之前的代码时,我收到了这条消息(德语)。 Warnung: Namensraum ‘gamlss.dist’ ist nicht verfügar und ist durch.GlobalEnv ersetzt worden während Objekt ‘mod_gam’ verarbeitet wurde 翻译: "Warning: Namespace "gamlss.dist" is not available and is replaced by .GlobalEnv, while object "mod_gam" was
我有一个可执行文件,它在运行时会询问参数文件的名称。我尝试了所有输入参数文件名的方式,但得到了相同的错误,即:
GAM Version: 2.905
ERROR - the parameter file does not exist,
check for the file and try again
Stop - Program terminated.
ans =
0
参数文件的名称为gam.par。我尝试过让函数自动读取参数文件名的各种样式有:
system('"gam.exe" -f "gam.par"
所以我写了这段代码来创建一个应该像这样的This image was done in Mathematica,但是由于某种原因,在plot plot i made.does上没有显示任何东西,它必须与gam(x_2)或gam本身有关,因为我试图将其定义为一个范围,但仍然什么都没有。请教我一下。从matematica制作的图看,他似乎将x和y的范围都设置到了10,000。 import matplotlib.pyplot as plt
import numpy as np
import math
import pylab
%matplotlib inline
gam0 = 72.8
te
我使用mgcv运行了一个包含大型数据集(超过20,000个案例)的GAMM模型。由于数据点的数量很多,很难在图中的残差点之间看到平滑的线条。是否可以为点和平滑拟合线指定不同的颜色?
下面是一个取自mgcv文档的示例:
library(mgcv)
## simple examples using gamm as alternative to gam
set.seed(0)
dat <- gamSim(1,n=200,scale=2)
b <- gamm(y~s(x0)+s(x1)+s(x2)+s(x3),data=dat)
plot(b$gam, pages=1, residua
我正在R中查看R包,我想知道如何根据新的数据更新模型。例如,假设我有以下数据,并且我有兴趣拟合一个三次回归样条。
# Load library.
library(mgcv)
# Set seed.
set.seed(2022)
# Data
x <- seq(10, 100, by = 10)
y <- sort(runif(10))
我可以使用mgcv::s()函数对模型进行拟合,以转换我的预测变量,其中bs = "cr"表示文档中所示的三次回归样条(即?mgcv::s)。
# Fit.
model <- mgcv::gam(y ~ s(x, bs =
使用Google,下面是我要完成的任务:
我有这样的数据:
xta_GAM-1a (61095)
xta_SM (61096)
xta_GAM2 (61156)
xta_GAM-1b (61161)
AO CPC ALL GAM
AO CPC ALL PA
AO CPC ALL SM
AO CPC ALL TPP
我只想提取下划线之后的第一个alpha部分,或者如果不能提取最后一个alpha部分,结果是:
GAM
SM
GAM
GAM
GAM
PA
SM
TPP
我怎么能做到这一点?
编辑:@amit的回答让我在那里的大部分时间里找到了答案,我自己想出了最后一部分。目前的解决办法是:
=if(
我为这样一个简单的问题道歉,但还没有找到答案,仔细阅读网站。我正在尝试绘制R中无脊椎动物捕获数据的一系列GAM模型。其中一个预测器始终是表示日期数字(DOY)的平滑项。这应该始终占据x轴的空间。Y轴应该是线性或平滑的天气变量预报器。使用vis.gam()函数,我可以生成具有颜色渐变的曲面轮廓图,该颜色渐变表示任何x-y对的响应预测值。当第二个预测器是非线性时,例如:
totbest=gam(Totallog10pl1~s(DOY)+s(SRVarDetrendDerived),data=poolREplotGAM)
然后,该图看起来应该是正确的(很抱歉,无法发布图像,但这里是绘图命令):
vi
我在要优化的函数的编码方面有问题,其中有两个求和和一个产生,所有这些都有不同的索引。为了简单起见,我将代码分成两个函数。
在第一个函数中,j从0到k:
w = function(n,k,gam){
j = 0:k
w = (1 / factorial(k)) * n * sum(choose(k, j * gam))
return(w)}
在第二个函数中,k从0到n(即固定到10);相反,产生从1到长度(X):
f = function(gam,del){
x = mydata #vector of 500 elements
n = 10
k = 0: