データフレーム内の列に長さゼロの文字列が含まれている場合、それをlevels()関数に渡すと、文字列。しかし、unique()はそうしません。これは私には直感的ではないようですが、私はこれを説明する文書を見つけることができませんでした。誰がなぜこれが当てはまるのか知っていますか?Q:データフレーム内の長さゼロの文字列に対するlevels()とunique()の区別
例:
[1] a b
Levels: a b
レベル()」が含まれる:
unique(d$col1)
(一意
)長さゼロの文字列要素が返されない:ユニーク
コール()
d <- data.frame(col1 = c("", 'a', 'b')) # Contains "".
"結果:
levels(d$col1)
[1] "" "a" "b"
unique' 'の出力は「」を返すんが、二重引用符は、プリントアウトに欠けているので、もう少し難しいのです認識する。これを見るには、 "a"と "b"だけでdata.frameを作成し、出力のスペーシングを比較してください。 col1は文字型ではなく、むしろ要素であることにも注意してください。 'data.frame'で文字ベクトルを取得するには、stringsAsFactors = FALSEを使用します。 – lmo