0
melt()関数を使用してワイドフォーマットからロングフォーマットに変換した後、カテゴリ変数をRの係数に変換しようとしています。しかし、因子関数と入力レベルとラベルを実行すると、次の表が得られます。生成要因に関する問題R
これはなぜ起こっているのですか?
law <- read.csv("lawyers_class_new.csv")
library(reshape2)
law <- melt(law, id.vars = c("Subj"), measure.vars = c("lawyer", "neutral", "engineer", "neutral_urb", "neutral_rur"))
law <- law[order(law$Subj),]
law <- within(law,
Subj <- factor(Subj),
variable <- factor(variable)
)
law$variable<- ordered(law$variable,levels=c(1,2,3,4,5),labels=c("lawyer","neutral",
"engineer","neutral_urb","neutral_rur"))
Output:
law$variable
[1] <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA>
[18] <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA>
[35] <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA>
[52] <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA>
[69] <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA>
[86] <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA>
[103] <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA>
[120] <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA>
[137] <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA>
溶融データフレーム:
**Subj Cond variable value**
1 2 lawyer 3
1 3 neutral 1
1 1 engineer 3.5
1 5 neutral_urb 3
1 4 neutral_rur 3.5
2 2 lawyer 1
2 3 neutral 3.5
2 1 engineer 4.5
2 5 neutral_urb 2
2 4 neutral_rur 3.5
元のデータFRAME:
Subj lawyer neutral engineer neutral_urb neutral_rur
1 3 1 3.5 3 3.5
2 1 3.5 4.5 2 3.5
再現可能な例を作成してください。私たちはlawyers_class_new.csvにアクセスすることはできません。 http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example –
レベルは、順序付けられた要素への2回目の変換で「1:5」ではないようです。レベルの引数は、*因子レベルが*と表示されるべきもので、ラベルは他のものに変更したい場合にのみオプションです。 – Gregor
また、あなたの目標はわかりませんが、プロットなどの特定の順序でレベルを持つためには、順序付けられた要素が必要であると誤って考える人が多いです。そうではありません。 'ordered'因子の唯一の理由は、モデリングの際に使用されるコントラストのためです。 – Gregor