2011-02-19 8 views
2

をプロットするとき、私は図書館からex0622データを使用していますUnexplainably空の因子の組み合わせSleuth2Rの質問です。応答

library(Sleuth2) 

library(lattice) 

attach(ex0622) 

#Using the 'rep()' function to create a vector for the sexual preference variable ('Hetero' or 'Homo') 
sex.pref=as.factor(c(rep("Hetero", 16), rep("Homo", 19), rep("Hetero", 6))) 


#Using the 'rep()' function to create a vector for the Type of Death variable ('AIDS' or 'Non-AIDS') 

death.type=c(rep("Aids",6), rep("Non-Aids",10), rep("Aids", 19), "Aids", rep("Non-Aids", 5)) 

#creating a vector of gender variable 
gender=(c(rep("Male", 35), rep("Female", 6))) 

length(death.type) 

ex0622_alt=as.data.frame(cbind(ex0622, gender, sex.pref, death.type)) 
ex0622_alt 

私は、データセットにいくつかの要因を追加するために、先行するコードを実行します。とき、彼らはいけないそれから私は、格子パッケージ

histogram(~Volume[sex.pref=="Hetero"]|gender, data=ex0622_alt, main="Heterosexuals") 
dotplot(Volume[sex.pref=="Hetero"]~gender, col=1) 

両方で変数の特定の組み合わせを表示したいものをしようとは、空の要因性別の組み合わせとsex.prefを作り出します。私は何が起こっているのか分かりません。

助けていただけたら幸いです!

ありがとうございます!

+0

データをすばやく調べると、gender == "female"と "sex.pref ==" homo "'の両方の件名は表示されないので、空の組み合わせが正しいと思われますか? –

+0

真ですが、彼は 'sex.pref ==" Hetero "'でサブセット化しています。男性と女性の両方のケースがあります。 –

答えて

3

あなたの問題は、histogramコールである:ex0622_altデータフレーム内では、sex.pref == "Hetero"Volume変数をサブセット化しているが、あなたはないは全くgender変数をサブセット化しているので、Volumeサブベクトルとgender変数は同じ長さを持たないので、結果は奇妙です。 dotplotコマンドに適用される

histogram(~Volume | gender, 
      data = ex0622_alt, subset = sex.pref == 'Hetero', main="Heterosexuals") 

同じコメント(および修正):

histogram(~Volume[sex.pref=="Hetero"] | 
      gender[sex.pref=='Hetero'], data=ex0622_alt, main="Heterosexuals") 

をそれとも、単により自然だろうsubset引数を、使用することができます:それはあなたがしなければ動作します。

+0

ありがとうございました!それは完璧に働き、とても役に立ちました。 "サブセット"は素晴らしいコマンドです! – Michael

+0

あなたは大歓迎です! –