Ich habe eine logistische Regression Nest Erfolg zu schätzen, werden Sie einige Daten in diesem Link:Extrahieren von Koeffizienten aus logistischer Regression mit for-Schleife
https://www.dropbox.com/s/okp2iudnace6fha/data1.csv?dl=0
Alle meine erklärenden Variablen sind kontinuierlich einen linearen Trend zu erhalten . Ich möchte untersuchen, ob es eine Veränderung im Laufe der Zeit auf die saisonalen Schwankungen des Nestes Überleben ist:
yr (wie 0,1,2,3 ...)
Legedatum (LD)
NestAge
das ist mein Modell:
glm(survive~LD+yr+yr^2+LD:yr+LD:yr^2+NestAge,family=binomial(link=logexp(data1$exposure)), data=data1)
Dies ist der Link Exposition ich verwende:
library(MASS)
logexp <- function(exposure = 1)
{
linkfun <- function(mu) qlogis(mu^(1/exposure))
## FIXME: is there some trick we can play here to allow
## evaluation in the context of the 'data' argument?
linkinv <- function(eta) plogis(eta)^exposure
mu.eta <- function(eta) exposure * plogis(eta)^(exposure-1) *
.Call(stats:::C_logit_mu_eta, eta, PACKAGE = "stats")
valideta <- function(eta) TRUE
link <- paste("logexp(", deparse(substitute(exposure)), ")",
sep="")
structure(list(linkfun = linkfun, linkinv = linkinv,
mu.eta = mu.eta, valideta = valideta,
name = link),
class = "link-glm")
}
Um die Koeffizienten zu erhalten, habe ich eine Schleife erstellt, die das extrahiert, aber es funktioniert nicht.
a<-as.matrix(coef(model))
intercept<-a[1,]
slope<-a[2,]
for (i in 1:6) {
i<-as.numeric(i)
sub<-subset(data1,data1$yr==i)
g<- intercept + slope*sub$yr[i]
dsr <-exp(g)/ (1+ exp(g))
}
Können Sie mir bitte helfen, es zu beheben? Vielen Dank im Voraus.
was die yra ist in der Leitung zu verweisen: 'sub
Warum schleifen Sie auch 26 Mal, wenn keine der Variablen im Datensatz aus 26 Faktorebenen besteht? Überprüft mit 'sapply (Namen (Daten1), Funktion (x) Tabelle (Daten1 [, x])%>% Länge), die Ebenen für Jahr, Nest, Jahr, Belichtung, Überleben, Schicksal, LD und NestAge als Länge gibt 6, 699, 6, 30, 2, 2, 33, 33. –
Es ist wahr! Es tut mir leid und danke, dass du mir gesagt hast, dass ich meinen Code bereits bearbeitet habe. Es war 26, weil es das komplette Dataset ist (ich möchte das Datenbeispiel in meiner Dropbox behalten). – MSS