我想定义一个因素,尽管某些级别是唯一的,但它们共享相同的标签。这仅用于输出目的。我知道不支持重复级别,但我在为一组唯一级别提供重复标签时收到警告。
要重现此警告,请输入以下代码:
var1 <- factor(c("a", "c", "b", "c"), levels = c("a", "b", "c"), labels = c("X", "X", "Y"))
产生以下警告:
Warning message:
In `levels<-`(`*tmp*`, value = if (nl == nL) as.character(labels) else paste0(labels, :
duplicated levels in factors are deprecated
虽然打印var1
可以提供所需的和预期的输出,但不会出现&#39;等级&#39;属性现在是指定的标签。此警告中的重复级别可能是指这些级别的重复标签?:
> print(var1)
[1] X Y X Y
Levels: X X Y
是否应该重复标签,如果可以,如何在不收到警告的情况下实现?或者这可能是R中可能存在的错误或误解的警告消息(可能是描述级别及其标签的术语问题),因为警告是关于级别而不是标签,尽管原始级别与警告相矛盾是唯一的? R中是否有替代的因子实现支持一组唯一因子水平的重复标签?