R вопрос. Необъяснимо пустые комбинации факторов при построении ответа - PullRequest
2 голосов
/ 20 февраля 2011

Я использую данные ex0622 из библиотеки Sleuth2

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)

Обе эти попытки приводят к пустым комбинациям факторов пола и пола.pref, когда они не должны.Я понятия не имею, что происходит.

Буду признателен за любую помощь!

Спасибо!

1 Ответ

3 голосов
/ 20 февраля 2011

Ваша проблема в вызове histogram: внутри фрейма данных ex0622_alt вы поднаменяете переменную Volume на sex.pref == "Hetero", но вы не , поднабор *Переменная 1007 * вообще, поэтому субвектор Volume и переменная gender не имеют одинаковой длины, поэтому результаты будут странными.Это работает, если вы выполните:

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

Или вы можете просто использовать subset arg, что было бы более естественным:

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

Тот же комментарий (и исправление) применяется кdotplot команда.

...