1

我正在尝试基于二进制数据作为因变量(直接离开 = 0 或 1)创建逻辑回归图。自变量是连续数据(危险提示的持续时间)、计数数据(危险提示出现的时间)和分类数据(治疗:蔗糖或章鱼胺):

AnimalID       Time     Duration     Treatment       Daytime     DirectLeave
       1     1039.6          1.1       sucrose      mornings               1
       2     1116.5          7.6            OA      mornings               0
       3      359.9          2.4       sucrose     afternoon               0
       4      594.2         27.3            OA     afternoon               1
       5      951.4         10.5            OA      mornings               1
       6      612.4          3.8       sucrose     afternoon               0

到目前为止,我能够为整个数据集创建两个带有一条拟合线的图表(下图):

library(car)
data_animal <- read.table("DirLeave_DurSorted.txt",header=T)

# Plot for relationship between immediate leave of animal and the time of danger cue presentation

pufftimegraph<-glm(DirLea ~ Time , family=binomial(link=logit), data=data_animal)
summary(pufftimegraph)
Anova(pufftimegraph)
data_animal$fitted<-pufftimegraph$fitted

dummy<-(data_animal$Time)
dummy<-sort(dummy)
print(dummy)

plot(data_animal$DirLea~data_animal$Time, xlab ="Time of the presentation of the danger cue", ylab="Proportion of wasps leaving the patch")
lines(data_animal$Time,(1/(1+(1/exp(0.0011188*data_Maxi$Time+-0.0174130)))), col="black")

# Plot for relationship between immediate leave of animal and duration of danger cue

durgraph<-glm(DirLea ~ Dur , family=binomial(link=logit), data=data_animal)
summary(durgraph)
Anova(durgraph)
data_animal$fitteddur<-durgraph$fitted
print(data_animal$fitteddur)

plot(data_animal$DirLea~data_animal$Dur, xlab ="Duration of the danger cue [s]", ylab="Proportion of wasps leaving the patch")
lines(data_animal$Dur,(1/(1+(1/exp(0.15020*data_animal$Dur+-1.00618)))), col="black")

在此处输入图像描述 在此处输入图像描述

然而,我研究的目的是展示两种治疗方法之间的差异。我知道我需要两个类别(即蔗糖和章鱼胺)的斜率和截距值,但Anova()只为整个数据集提供一个值。所以,我想用两条拟合线创建两个图表:每个处理一个。是否有可能做到这一点,如果可以,怎么做?

4

1 回答 1

0

您在这里的模型不依赖于治疗类型,因此无论如何您都不会从同一模型中获得不同的曲线。要在治疗之间进行比较,您必须在模型中包含依赖于治疗的术语,或者将模型拟合到数据子集。

DirLea ~ Time将模型与模型进行比较也很困难,DirLea ~ Dur因为它们不是嵌套的。这两个模型可能捕获不同的效果或相同的效果,具体取决于您的实验设计以及这两个变量是否具有任何相关性

假设您从一个模型开始,其中包含您要比较的所有内容:

model <- glm(DirLea ~ (Time + Dur)*treatment, 
             data=data_animal, family = binomial(link=logit))

您可以通过将人工数据输入 来构造任意拟合线predict,并使用 提取数据的相关子集subset。在这里,制作蔗糖处理的数据图表,并将危险提示固定为某个值:

sucrose.line <- expand.grid(treatment = "sucrose", 
                            Time = seq(100, 1200, length=50)
                            Dur=mean(animal_data$Dur))
sucrose.line$fitted <- predict(model, sucrose.line)
lines(fitted ~ Time, data = sucrose.line,
      xlab ="Time of the presentation of the danger cue",    
      ylab="Proportion of wasps leaving the patch")
于 2013-08-24T20:05:41.477 回答