【发布时间】:2021-06-03 16:12:56
【问题描述】:
library(grid)
library(gridExtra)
library(broom)
library(BiodiversityR)
library("vegan")#[1]
library("MASS")#[2]
library(nlme)#[3]
library("bbmle")
这里是data
我正在评估哪种模型最适合我的数据(空模型/glm-poisson/4 参数日志)。使用对数的想法是检测在景观中森林覆盖率的某些值下响应(数量、物种比例)在哪个点减少/增加。我一直在使用下一个代码来拟合使用 dpois(y=count of species)的四参数逻辑回归:
logip=function(p,lambda,x){
a=p[1]
b=p[2]
c=p[3]
d=p[4]
Riq1 = d+(a/(1+exp((b-(FOREST700+km))/c)))
-sum(dpois(x,lambda=Riq1, log=TRUE))
}
parnames(logip)=c("a","b","c","d")
modTR.log=mle2(minuslog=logip, start= c(a=2,b=60,c=3,d=0.1),
data=list(x=Patch_Richness))
但现在我想对作为比例的因变量使用相同的方法(y = 在一个站点注册的物种的比例)。我想我应该使用二项式,所以我在之前的函数中尝试了dbinom:
logip=function(p,size,prob){
a=p[1]
b=p[2]
c=p[3]
d=p[4]
Riq1 = d+(a/(1+exp((b-(FOREST500+km))/c)))
-sum(dbinom(size,prob=Riq1))
}parnames(logip)=c("a","b","c","d")
modTR.log=mle2(minuslog=logip, start= c(a=1,b=72,c=3,d=0.1),
data=list(x=cbind(Regional_Richness,Patch_Richness)))
我收到了这条消息:
mle2 中的错误(minuslog = logip, start = c(a = 1, b = 72, c = 3, d = 0.1), : 'start' 中的一些命名参数不是指定对数似然函数的参数.
我不知道使用dbinom 是否正确以及如何在我正在使用的函数中应用它。希望你能帮助我。
【问题讨论】:
-
对于初学者,您不会使用逻辑回归对泊松计数数据进行建模。逻辑回归对取值为 0 或 1 的二进制因变量建模,而泊松分布变量可以取任何非负整数值。如果您可以包含一些数据、您想要完成的任务以及您正在使用的包,那将会很有帮助。
-
谢谢,我已经包含了我正在使用的链接和包
-
第二个函数是否有错字;你使用
dnorm而不是dbinom -
是的,有一个错字,现在是正确的
-
Google 表格要求我申请访问权限。你能让数据免费下载吗?
标签: r function logistic-regression