2017-12-04 20 views
3

2レベル係数変数を使用して条件密度プロットをプロットしようとしています。この変数はもともと3レベル因子変数であったが、私は3つの因子レベルのうち2つだけを使ってデータフレーム(microtus.train)を構築した。条件付き密度プロットをプロットすると、「y軸」の因子レベルは「microtus.train」を構築したときに除外したレベルである「未知数」として表示されます。以下のプロットをご覧ください。2レベル係数変数を使用する条件密度プロット

enter image description here

私はそれがまだ残っている理由はわかりません。誰かが私にこの問題を解決する方法を教えてもらえますか?修正後は、y軸にラベルとして "multiplex"と "subterraneus"が表示されるはずです。

私のコードは以下の通りです:

library(Flury) 
data(microtus, package = "Flury") 

# Creating training data frame 
microtus.train <- subset(microtus, 
    microtus$Group %in% c("multiplex", "subterraneus"), 
    select = c("Group", "M1Left", "M2Left", "M3Left", "Foramen", "Pbone", 
      "Length", "Height", "Rostrum")) 
# Plot Conditional Density plot of Group given M1Left 
cdplot (Group ~ M1Left, data = microtus.train) 

は、事前にありがとうございます!

答えて

0

Groupの3番目のレベルに対応する行を削除しましたが、Group列はまだ3つのレベル(2つだけが現在データに存在します)の要素としてコード化されています。 cdplot機能。空のレベルを削除するにはdroplevelsを使用してください。

str(microtus.train$Group) 
Factor w/ 3 levels "multiplex","subterraneus",..: 1 1 1 1 1 1 1 1 1 1 ... 
microtus.train$Group = droplevels(microtus.train$Group) 
str(microtus.train$Group) 
Factor w/ 2 levels "multiplex","subterraneus": 1 1 1 1 1 1 1 1 1 1 ... 
# Plot Conditional Density plot of Group given M1Left 
cdplot (Group ~ M1Left, data = microtus.train) 

enter image description here

関連する問題