設定できない関数の例はlabels
. 因子ラベルは、因子関数で作成された場合にのみ設定できます。機能はありませんlabels<-
。要因の「ラベル」と「レベル」は意味をなさない....
> fac <- factor(1:3, labels=c("one", "two", "three"))
> fac
[1] one two three
Levels: one two three
> labels(fac)
[1] "1" "2" "3"
OK、私はラベルを求めました。これは factor 呼び出しによって設定されたものと思われるかもしれませんが、かなりの結果が得られました...直感的ではないという言葉は何ですか?
> levels(fac)
[1] "one" "two" "three"
したがって、ラベルを設定することは実際にはレベルを設定しているように見えます。
> fac <- factor(1:3, levels=c("one", "two", "three"))
> levels(fac)
[1] "one" "two" "three"
それは予想どおりです。では、レベルを設定するときのラベルとは何ですか?
> fac <- factor(1:3, levels=c("one", "two", "three"), labels=c("x","y", "z") )
> labels(fac)
[1] "1" "2" "3"
> levels(fac)
[1] "x" "y" "z"
あなたが私に尋ねると、奇妙なことを言います。factor の 'labels' 引数は、レベルを指定するための 'levels' 引数よりも優先されるようです。なぜこれが必要なのですか?混乱した用語のようです。そして、なぜlabels()
as.character(as.numeric(fac)) で取得されると想像していたものを返すのでしょうか?
(これは、質問に移動するように求められた代入関数に関する以前の回答の [そのようにラベル付けされた] 接線のコメントでした。したがって、ここで私を啓発する機会があります。)