在尝试运行lm()
时,R从具有少于2个级别的因子返回错误。下面是一个简短的表格,其中列出了“类型”和“'等级的3个指标”。
为什么length(unique(x[,i]))
不能提供与nlevels(x[,i])
相同的输出?
答案 0 :(得分:1)
一个可能的原因是NA
被视为唯一值,但不是一个因素中的级别:
> a <- as.factor(c("A","B","A",NA))
> unique(a)
[1] A B <NA>
Levels: A B
> length(unique(a))
[1] 3
> levels(a)
[1] "A" "B"
> nlevels(a)
[1] 2