来自unique()和nlevels()的错误匹配输出

时间:2017-02-25 12:50:12

标签: r unique r-factor

在尝试运行lm()时,R从具有少于2个级别的因子返回错误。下面是一个简短的表格,其中列出了“类型”和“'等级的3个指标”。

为什么length(unique(x[,i]))不能提供与nlevels(x[,i])相同的输出?

levels

1 个答案:

答案 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