2011-02-19 3 views
2

음모를 꾸미고 나는 도서관 Sleuth2R 질문. Unexplainably 빈 요소의 조합 응답

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 

에서 ex0622 데이터를 사용하고 난 데이터 세트에 몇 가지 요소를 추가 할 수있는 선행하는 코드를 실행합니다. 그럼 난

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

당신을 진심으로 환영합니다! –