【问题标题】:Error in eval(predvars, data, env) : object 'Sewer' not foundeval 中的错误(predvars,data,env):找不到对象“下水道”
【发布时间】:2019-01-31 21:48:03
【问题描述】:

我有一组包含物种名称和编号 (spp_data) 的数据,我正在尝试测试物种如何受到不同参数的影响,例如 pH 值、电导率以及下水道位置(上游/下游) (env_data1)。 当我尝试运行 lm() 时,出现以下错误:

lm1 <- lm(specnumber ~ Sewer + pH + Conductivity, data=spp_data,env_data1)

eval 中的错误(predvars、data、env):找不到对象“下水道”

是因为Sewer 列不是数字吗? 我还尝试排除该列并运行lm(),但它不起作用。

物种数据

summary(spp_data)
    Pisidium        G_pulex         C_pseudo        A_aquatic          V_pisc       
 Min.   :0.000   Min.   : 0.00   Min.   : 0.000   Min.   :0.0000   Min.   :0.00000  
 1st Qu.:0.000   1st Qu.: 3.00   1st Qu.: 0.000   1st Qu.:0.0000   1st Qu.:0.00000  
 Median :0.000   Median : 8.00   Median : 3.000   Median :0.0000   Median :0.00000  
 Mean   :1.429   Mean   :16.86   Mean   : 4.476   Mean   :0.5714   Mean   :0.04762  
 3rd Qu.:2.000   3rd Qu.:20.00   3rd Qu.:10.000   3rd Qu.:0.0000   3rd Qu.:0.00000  
 Max.   :7.000   Max.   :68.00   Max.   :16.000   Max.   :4.0000   Max.   :1.00000  

    Taeniopt          Rhyacoph         Hydropsy        Lepidost        Glossos     
 Min.   :0.00000   Min.   :0.0000   Min.   :0.000   Min.   :0.000   Min.   : 0.00  
 1st Qu.:0.00000   1st Qu.:0.0000   1st Qu.:0.000   1st Qu.:0.000   1st Qu.: 0.00  
 Median :0.00000   Median :0.0000   Median :0.000   Median :0.000   Median : 0.00  
 Mean   :0.09524   Mean   :0.2381   Mean   :1.286   Mean   :1.238   Mean   : 1.81  
 3rd Qu.:0.00000   3rd Qu.:0.0000   3rd Qu.:3.000   3rd Qu.:2.000   3rd Qu.: 1.00  
 Max.   :2.00000   Max.   :2.0000   Max.   :5.000   Max.   :7.000   Max.   :14.00  
    Agapetus         Hydroptil          Limneph         S_person           Tipula 
 Min.   : 0.0000   Min.   :0.00000   Min.   :0.000   Min.   :0.00000   Min.   :0  
 1st Qu.: 0.0000   1st Qu.:0.00000   1st Qu.:0.000   1st Qu.:0.00000   1st Qu.:0  
 Median : 0.0000   Median :0.00000   Median :0.000   Median :0.00000   Median :0  
 Mean   : 0.5714   Mean   :0.04762   Mean   :0.381   Mean   :0.09524   Mean   :0  
 3rd Qu.: 0.0000   3rd Qu.:0.00000   3rd Qu.:1.000   3rd Qu.:0.00000   3rd Qu.:0  
 Max.   :12.0000   Max.   :1.00000   Max.   :2.000   Max.   :2.00000   Max.   :0  
    Culicida         Ceratopo     Simuliid          Chrinomi         Chrnomus     
 Min.   :0.0000   Min.   : 0   Min.   : 0.0000   Min.   : 0.000   Min.   : 0.000  
 1st Qu.:0.0000   1st Qu.: 0   1st Qu.: 0.0000   1st Qu.: 0.000   1st Qu.: 1.000  
 Median :0.0000   Median : 1   Median : 0.0000   Median : 2.000   Median : 3.000  
 Mean   :0.5714   Mean   : 7   Mean   : 0.5238   Mean   : 7.286   Mean   : 6.095  
 3rd Qu.:0.0000   3rd Qu.: 8   3rd Qu.: 0.0000   3rd Qu.: 8.000   3rd Qu.: 6.000  
 Max.   :5.0000   Max.   :31   Max.   :10.0000   Max.   :67.000   Max.   :41.000  

环境数据

summary(env_data)
    Sample             Sewer                 pH        Conductivity      
 Length:21          Length:21          Min.   :7.780   Length:21         
 Class :character   Class :character   1st Qu.:7.850   Class :character  
 Mode  :character   Mode  :character   Median :8.100   Mode  :character  
                                       Mean   :8.044                     
                                       3rd Qu.:8.270                     
                                       Max.   :8.280                     
     Depth           %rock            %mud      %sand,,         
 Min.   : 7.00   Min.   :10.00   Min.   : 0   Length:21         
 1st Qu.: 8.00   1st Qu.:10.00   1st Qu.:20   Class :character  
 Median :11.00   Median :70.00   Median :30   Mode  :character  
 Mean   :17.14   Mean   :57.14   Mean   :40                     
 3rd Qu.:28.00   3rd Qu.:80.00   3rd Qu.:90                     
 Max.   :40.00   Max.   :90.00   Max.   :90

【问题讨论】:

  • 我部分发布了摘要(spp_data),总共有44种。我合并了它们,但仍然没有用。物种数据应该在一个单独的表中,以便 R 可以做 specnumber。
  • data=spp_data,env_data1 不是有效的 R 代码。这就是你必须纠正的。

标签: r


【解决方案1】:

假设您的 spp_data 的行与您的环境数据的行匹配......我想如果你这样做

lm1 <- lm(as.matrix(spp_data) ~ Sewer + pH + Conductivity, 
        data=env_data1)

您将获得运行 44 个独立线性模型的结果,每个物种一个。 (注意:有 44 个回归和只有 21 个观察值,您可能需要进行一些多重比较校正以避免夸大您的结论。)

有用于更复杂的多物种分析的 R 包,例如 mvabundgllvm,但它们可能不适用于这种大小的数据集...

【讨论】:

    猜你喜欢
    • 2018-11-05
    • 2020-09-21
    • 2020-04-12
    • 1970-01-01
    • 2022-01-11
    • 2020-04-02
    • 1970-01-01
    • 2018-11-18
    • 1970-01-01
    相关资源
    最近更新 更多