【问题标题】:dudi.hillsmith error in x * w : non-numeric argument to binary operatorx * w 中的 dudi.hillsmith 错误:二元运算符的非数字参数
【发布时间】:2020-09-02 14:55:06
【问题描述】:

我正在重新运行我大约 6 个月前编写的 RLQ 和第 4 角分析。但是,在分析 Q 表时会弹出错误。我一直在关注 Stephane Dray (2013) 的教程并使用了

dudi.pca 用于环境表(R,6 个站点的 6 个“数字”变量),

dudi.coa 用于物种存在表(L,6 个站点的 15 个物种(“整数”数据)),以及

dudi.hillsmith 用于特性表(Q,15 个物种的 7 个混合特性(5 个“字符”和 2 个“数字”))。

dudi.pca(R)、dudi.coa(L) 都运行良好,但是当我尝试时:

> q_feeding <- dudi.hillsmith(traits_feeding, row.w=l_feeding$cw, scannf=F, nf=2)

我明白了

Error in x * w : non-numeric argument to binary operator

为简化我们的讨论,“喂食”=“存在”,对于是否观察到该物种在某个地点觅食是 0/1。当 L 是丰度数据时,这个错误也会出现不同的数据。我尝试将分类特征更改为 TRUE/FALSE,以查看“逻辑”是否可行。我很难过,希望我错过了一些简单的东西。

"row.w=l_feeding$cw" 返回一个数字向量,它告诉我 dudi.coa 正在工作,所以我猜我的错误在 "traits_feeding" 表中:

    > traits_feeding
          by    fe         dus      fnt    mo    se       ete
c.notat  0.450 0.673        Y        N     N      N        N
c.riat   0.423 0.667        Y        N     N      Y        N
z.op     0.501 0.556        N        Y     N      N        N
s.liat   0.335 0.596        N        Y     Y      N        N
s.i      0.382 0.549        N        Y     N      N        N
n.turat  0.354 0.648        N        Y     Y      N        N
c.eeke   0.297 0.348        Y        Y     N      Y        Y
c.rdid   0.306 0.688        Y        Y     N      Y        Y
s.tipinn 0.320 0.658        Y        Y     N      Y        N
s.amele  0.302 0.695        Y        Y     N      Y        N
s.midiat 0.285 0.678        Y        Y     N      Y        N
s.obb    0.294 0.666        Y        Y     N      Y        N
s.r      0.338 0.658        Y        Y     N      Y        N
s.vulat  0.315 0.684        Y        Y     N      Y        N
s.hlege  0.302 0.670        Y        Y     N      Y        N

> class(traits_feeding$by)
[1] "numeric"
> class(traits_feeding$fe)
[1] "numeric"
> class(traits_feeding$dus)
[1] "character"
> class(traits_feeding$fnt)
[1] "character"
> class(traits_feeding$mo)
[1] "character"
> class(traits_feeding$se)
[1] "character"
> class(traits_feeding$ete)
[1] "character"

我正在 RStudio 1.2.5042 上运行 R 4.0.0,并且正在运行 ade4 的最新版本(2020 年 5 月 16 日)。

谁能帮我解决这个问题?最令人费解的部分是六个月前运行时没有出错,我相信和这里一样......

谢谢, 瑞恩

【问题讨论】:

    标签: r pca correspondence-analysis


    【解决方案1】:

    我知道这是一个相当迟到的回应,但这是对我有效的:

    dudi.hillsmith找不到称重字符变量的方法。

    我改变了级别的因素,并且完全正常工作。

    希望这有助于其他任何问题!

    【讨论】:

    • 正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center
    【解决方案2】:

    我遇到了和你一样的问题,我认为问题是由于你的 R 版本而不是 ade4 版本。我能够通过删除 R 4.0 并稍后安装 3.6.2 版本来解决这个问题。希望对您有所帮助。

    干杯!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-03-24
      • 1970-01-01
      • 1970-01-01
      • 2016-11-15
      • 1970-01-01
      • 2019-05-03
      • 1970-01-01
      相关资源
      最近更新 更多