2011-10-21 12 views
1
におけるウィスカープロット

私はRで、次の最小限のコード例があります。並べ替えボックスとR

data.time = c(1, 4, 8, 9, 2, 4, 1) 
data.difficulty = c("hard", "simple", "simple", "hard", "simple", "simple", "hard") 
library(lattice) 
bwplot(data.time ~ data.difficulty, xlab="Difficulty", ylab="Time") 

あなたがそれをグラフ化した場合、あなたは「ハード」を参照してくださいすることができますが、左と「シンプル」である右側にあります。私はそれを逆にしたい。元のデータを変換または変更せずにこれを行う方法はありますか?データは後で他のグラフや分析に使用されるため、変更したくないです。

が要因に難易度ベクトルを変換すると、データを変更しないことについて、あなたの制約に違反した場合、私は知らないあなたに

+0

私はrelevelを使用して、その注文を正常に切り替えることができました。 – firefly2442

答えて

2

relevel関数を使用して、参照を「シンプル」にすることができます。それが文字なので、データの難易度をまず考慮する必要がありました。他の回答後

data.difficulty<-relevel(as.factor(data.difficulty), ref="simple") 
bwplot(data.time ~ data.difficulty, xlab="Difficulty", ylab="Time") 
1

ありがとうございます。これまでの他の関数は、オリジナルの文字ベクトルと同じ基準でこれを処理する可能性が高いでしょう。

dfrm <- data.frame(time=data.time, difficulty=data.difficulty) 
dfrm$difficulty <- factor(dfrm$difficulty, levels=c("simple", "hard")) 
bwplot(time ~ difficulty, data=dfrm, xlab="Difficulty", ylab="Time") 
1

:これは(私たちはbwplotための場でそれをtransformことができるように)データフレームとしてデータを整理して、ルールを少し破るが、あなたはそれを我慢することができた場合、それはおそらくですあなたの分析を一般的に整理するより良い方法... R(例えばモデル予測)の多くは、ワークスペース内の個々のオブジェクトとして横たわるのではなく、同じセットの変数がデータフレームにパックされたときに簡単になります。 data=引数を適切に使用する限り、残りのコマンドも読みやすくなります。

data.time = c(1, 4, 8, 9, 2, 4, 1) 
data.difficulty = c("hard", "simple", "simple", "hard", 
        "simple", "simple", "hard") 
mydata <- data.frame(time=data.time,difficulty=data.difficulty) 
library(lattice) 
bwplot(time ~ difficulty, xlab="Difficulty", ylab="Time", 
    data = transform(mydata, 
     difficulty=relevel(difficulty,"simple"))) 
関連する問題