0

我的数据看起来像这样,图表作为行,不同的 Ellenberg 值作为列,以及YearForest ( Skov) 和 Forest type ( Skovtype)。

我的数据来自 4 个不同的年份(1993 年、1998 年、2005 年和 2016 年)。

在此处输入图像描述

我的 lsmeans 函数有一些问题,我的脚本如下所示:

ellenberg_LM <- read.csv2("Gns. Ellenberg1.csv")

将年份从整数转换为因子

levels(ellenberg_LM$Year)
ellenberg_LM$Year <- factor(ellenberg_LM$Year)

艾伦伯格 L - LM

LLM<-lm(Gennemsnit.af.L_Ellenberg ~ Year + Skov + Skov*Year + Skovtype + Skovtype*Year,
        data=ellenberg_LM)

LS-均值

install.packages("lsmeans")
library(lsmeans)
lsmeans(LLM,~ Year, data = ellenberg_LM)

我的输出看起来像这样,在第一个例子中是 1993 年的 NA。但是,如果我像上一个示例一样忽略与所有年份的 lsmeans的交互Skov*Year并对其进行估计。Skovtype*Year R

在此处输入图像描述

我的问题是;你知道我做错了什么来获得 NA 还是我错过了什么?因为我想要计算所有年份的 lsmeans 交互。

4

1 回答 1

2

之所以NA存在,是因为在这三个因素的某些组合下,预测值是不可估计的——因此在对其中两个因素的水平进行平均后仍然不可估计。这可能是由于某些因素组合(数据中的空单元格)没有数据。当您拟合一个更简单的模型时,这些预测变得可估计,因为不再需要估计一些交互效应。

如果任何交互影响显着,您可能无论如何都不应该估计这些边际均值(这就是出现警告消息的原因)。查看一些交互图(例如,lsmip与交互模型一起使用)以可视化正在发生的事情并查看将预测平均在一起是否明智。如果这些东西让您感到困惑,请咨询统计顾问。

顺便说一句,data调用中不需要参数lsmeans

于 2017-01-20T20:13:54.727 回答