r语言 - 为什么 labels() 返回提供给"levels ="的内容,反之亦然?



这真是令人困惑的行为:

x <- factor(1:3, levels = 1:4, labels = letters[1:4])
x
# [1] a b c
# Levels: a b c d
labels(x)
# [1] "1" "2" "3"
levels(x)
# [1] "a" "b" "c" "d"

为什么labels()返回给levels =的值(尽管出于某种原因过滤为实际使用的值(,而levels()返回提供给labels =的值(在检查x时也作为Levels:给出(?

这是文档中描述的预期行为(请参阅值部分(:

。对于向量,结果是名称或seq_along(x(...

> seq_along(x)
[1] 1 2 3

最新更新