r - 对于具有 2 个级别和两个级别上的值的变量,错误“对比只能应用于具有 2 个或更多级别的因素”
问题描述
我正在尝试运行 MANOVA 并遇到错误:
Error in `contrasts<-`(`*tmp*`, value = contr.funs[1 + isOF[nn]]) : contrasts can be applied only to factors with 2 or more levels
我知道当一个变量只有 1 个级别,或者有多个级别但只有其中 1 个级别的值时,就会发生这种情况。我有两个变量会导致此错误,但是,它们的表格结果是:
$varA
No Yes
81 314
$varB
No Yes
35 363
在重新编码这两个变量的一个级别后会出现此问题。细胞计数太低(分别为 5 和 2),因此我将它们重新编码为 NA。然后我删除未使用的级别:
df$varA[df$varA=="unusableLevel"] <- NA
df$varB[df$varB=="unusableLevel"] <- NA
df <- droplevels(df)
这两个变量都被正确地指定为因子。我尝试使用不同的方法将不可用的级别重新编码为 NA。我一直在为此挠头。不幸的是,我不能生成一个最小的可重现示例,因为我不允许以任何形式共享任何数据。
谢谢你的帮助!
解决方案
推荐阅读
- c# - 处理类似类并存储它们的最佳方法?
- wordpress - 如何通过 wp-cli 更新 wordpress 翻译
- vhdl - 1 位 ALU 图的组成部分
- c# - 如何将 dataTrigger 绑定到 DataGridColumnHeader 模板
- docker - 在 Ubuntu 上执行 service docker start 时未正确观察到单元 docker.service 加载
- python - Python 会在每个循环中执行我的方法吗?
- tensorflow - 在 Python 3.7 中使用 Dropout 函数 (Keras) 时如何解决“UnboundLocalError”
- c++ - 在迭代期间删除向量的唯一元素?
- c++ - Python C++ api:如何访问公共类属性?
- visual-studio - 在 Visual Studio 2015 中为调试模式运行 iisexpress 32 位而不是 64 位