为什么我得到估算标准。当我正在使用的数据永远不会为负时为负?

时间:2019-05-16 17:28:57

标签: r lme4 lmertest

我正在运行一个脚本来找出鸟类歌曲之间的差异(比较不同的长度,频率和其他)。我在lme4包中使用了线性混合效果。我得到的是负估算标准的结果。而且由于(例如)歌曲的长度不能为负,我想知道是否有人可以告诉我我做错了什么。在下面找到详细信息。

我一直在寻找数据中的错误以及处理数据的不同方法,从而获得相同的结果。

这是我整理数据的方式:


Bird    site    length  freq    
1   FH  2.69    4354    -58.9
1   FH  2.546   4298    -57.3
1   FH  2.043   5303    -53.7
2   FH  4.437   6084    -63.1
11  ML  3.371   4689    -37.1
12  ML  3.706   5470    -39.7
13  ML  4.331   5358    -48.7
13  ML  4.124   4744    -39.8
14  ML  3.802   5805    -42.5

这是完整的代码


#1 song lenght####

library("lmerTest") 
model1<-lmer(length~site
             +(1|Bird), 
             data=dframe1)

summary(model1)
anova(model1, test="F")

pdat <- expand.grid (site=c("ML", "SI","FH", "SH"))

detach(package:lmerTest) # 
model1<-lmer(length~site
             +(1|Bird), 
             data=dframe1)

pred <- predictSE(model1, newdata = pdat, re.form = NA,
                  se.fit = T, na.action = na.exclude, 
                  type= "response")
pred

predframe <- data.frame (pdat, pred) ; predframe
predframe

plot(
  NULL
  , xlim = c(0.75,4.25)  # 
  , ylim = c(3,6)
  , axes = F  # 
  , ylab = ""
  , xlab = ""
)  
at.x <- c(1,2,3,4)
at.lab <- c(1,2,3,4)

for (i in 1:nrow(predframe))
{arrows( 
  x0 = at.x[i]
  , y0 = (predframe$fit[i] + predframe$se.fit[i])
  , x1 = at.x[i]
  , y1 = (predframe$fit[i] - predframe$se.fit[i])
  , code = 3  
  , angle = 90  
  , length = 0.12  
  , col = "gray25")
  points(
    x = at.x[i]
    , y = predframe$fit[i]
    , pch = 21
    ,bg="black"
    , col = "black"
    , cex = 1.25)  # point size
}


axis(1, labels = c("Mainland","Sully", "Flat Holm","Skokholm"), at = at.lab)  
axis(2, at = c(3,4,5,6), labels = c(3,4,5,6), las = 1, cex.axis = 1)  
box()  
title(xlab = "Location",  line = 2.5, cex = 0.8)  
title(ylab = expression(paste("song length (secs)")), line = 2.75)  

结果的第一部分在前面,不确定为什么站点FH(siteFH -0.9480)出现为负数。其他变量也会发生这种情况,因此我猜模型一定有问题。我是一个初学者,请与我一起考虑,我已经看过,但是没有找到类似的问题。

谢谢。


Results
`Scaled residuals: 
    Min      1Q  Median      3Q     Max 
-3.1852 -0.4119 -0.0071  0.5304  2.2659 

Random effects:
 Groups   Name        Variance Std.Dev.
 Bird     (Intercept) 0.51798  0.7197  
 Residual             0.07313  0.2704  
Number of obs: 112, groups:  Bird, 42

Fixed effects:
            Estimate Std. Error      df t value Pr(>|t|)    
(Intercept)   4.2429     0.1787 37.6710  23.745  < 2e-16 ***
siteFH       -0.9480     0.2965 36.3879  -3.197 0.002871 ** 
siteSH        1.2641     0.3173 35.4150   3.983 0.000323 ***
siteSI       -0.4258     0.3515 35.2203  -1.212 0.233769    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Correlation of Fixed Effects:
       (Intr) siteFH siteSH
siteFH -0.603              
siteSH -0.563  0.339       
siteSI -0.508  0.306  0.286
> anova(model1, test="F")
Type III Analysis of Variance Table with Satterthwaite's method
     Sum Sq Mean Sq NumDF  DenDF F value    Pr(>F)    
site 3.0075  1.0025     3 35.336  13.709 4.337e-06 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1`

1 个答案:

答案 0 :(得分:0)

输出中的列右对齐,因此该列命名为 Estimate ,下一列命名为 Std。错误

估计值描述了您的因变量和自变量之间的关联。它不会描述数据集中的任何值。

负估计仅表示“因变量(length)越大,自变量(site越低)(反之亦然)。但是在这种关系下,两个变量仍然可以为正。

详细来说,根据您的情况,估计值为-0.948意味着length的{​​{1}}比siteFH的长度低{em> 0.948(参考类别,未在输出中显示)。但是,不是并不意味着siteML为负。