Je travaille actuellement sur une recherche impliquant différentes espèces de chauves-souris et la fragmentation de l'habitat. Mon jeu de données contient des données de présence (1 = présent, 0 = absent) et des données sur la taille des fragments, la masse corporelle (continue) et les guildes alimentaires (Feeding.Guild; catégoriel, 6 niveaux: carnivore, frugivore insectivore, nectarivore, omnivore et sanguinivore). Les tailles des fragments (logFrag) et les masses corporelles (logMass) sont transformées en utilisant le log naturel pour se conformer à la distribution normale. Je ne peux pas présenter l'ensemble de données complet (bats2) en raison de la classification.Interprétation et traçage de la régression logistique
Pour analyser ces données, j'utilise une régression logistique. En R, c'est la fonction glm avec la famille binomiale.
bats2 <- read.csv("Data_StackExchange.csv",
quote = "", sep=";", dec = ".", header=T, row.names=NULL)
bats2$presence <- ifelse(bats2$Corrected.Abundance == 0, 0, 1)
bats2$logFrag <- log(bats2$FragSize)
bats2$logMass <- log(bats2$Mass)
str(bats2$Feeding.Guild)
Factor w/ 6 levels "carnivore","frugivore",..: 6 1 5 5 2 2 2 2 2 2 ...
levels(bats2$Feeding.Guild)
[1] "carnivore" "frugivore" "insectivore" "nectarivore" "omnivore" "sanguinivore"
regPresence <- glm(bats2$presence~(logFrag+logMass+Feeding.Guild),
family="binomial", data=bats2)
Les résultats de cette régression sont obtenus par la fonction summary()
et sont les suivants.
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -4.47240 0.64657 -6.917 4.61e-12 ***
logFrag 0.10448 0.03507 2.979 0.002892 **
logMass 0.39404 0.09620 4.096 4.20e-05 ***
Feeding.Guildfrugivore 3.36245 0.49378 6.810 9.78e-12 ***
Feeding.Guildinsectivore 1.97198 0.51136 3.856 0.000115 ***
Feeding.Guildnectarivore 3.85692 0.55379 6.965 3.29e-12 ***
Feeding.Guildomnivore 1.75081 0.51864 3.376 0.000736 ***
Feeding.Guildsanguinivore 1.73381 0.56881 3.048 0.002303 **
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Ma première question est de vérifier que j'interprète correctement ces données: comment interpréter ces données correctement? J'ai utilisé this website pour m'aider à interpréter.
De plus, j'ai essayé de tracer ces données afin de les visualiser. Cependant, lorsque vous ajoutez la fonction facet_wrap pour créer des graphiques séparés pour les différentes guildes d'alimentation, les interceptions et les pentes changent par rapport à la coloration des différentes guildes d'alimentation dans une seule parcelle. J'ai utilisé le code suivant:
Terrain 1:
library(ggplot2)
qplot(logFrag, bats2$presence, colour=Feeding.Guild, data=bats2, se=F) +
geom_smooth(method = glm, family = "binomial", se=F, na.rm=T) + theme_bw()
Terrain 2:
qplot(logFrag, bats2$presence, data=bats2, se=F) + facet_wrap(~Feeding.Guild,
scales="free") +
geom_smooth(method = glm, family = "binomial", se=F, na.rm=T) + theme_bw()
résultant dans les images suivantes:
Quelles sont les causes de ces différences et lequel serait le bon?
Sample data set (partie de l'ensemble de données qui n'est pas classée).
Il serait plus facile de vous aider si vous donniez des données pour rendre le problème reproductible. Ce ne doit pas être les vraies données, juste quelque chose qui lui ressemble. –
Le fichier CSV des exemples de données est inclus dans le lien suivant: http://pastebin.com/cHXp0ivG –
Cela peut être un bon démarrage [http://stackoverflow.com/q/8845279/707145]. – MYaseen208