R에서 상자 그림을 그리려고합니다.
70 개의 속성이있는 데이터 세트가 있습니다. 형식은
patient number medical_speciality number_of_procedures
111 Ortho 21
232 Emergency 16
878 Pediatrics 20
981 OBGYN 31
232 Care of Elderly 15
211 Ortho 32
238 Care of Elderly 11
219 Care of Elderly 6
189 Emergency 67
323 Emergency 23
189 Pediatrics 1
289 Ortho 34
상자 그림에 응급 소아과 만 포함하도록 하위 집합을 가져 오려고했습니다 (실제로는 10000 개 이상의 데이터 포인트가 있음)
나는 이것을 할 수 있다고 생각했습니다.
newdata<-subset(olddata[ms$medical_specialty=='emergency'|olddata$medical_specialty=='pediatrics',])
plot(newdata)
새로운 데이터를 요약하면 소아과와 응급 결과 만 있으면됩니다. 그러나 플로팅에 관해서는 상자 플롯없이 x 축에있는 노인 돌봄, OBGYN, 직교를 포함합니다.
ggplot에서 다음을 수행하는 방법이 있다고 가정합니다.
ggplot(newdata, aes(x=medical_speciality, y=num_of_procedures, fill=cond)) + geom_boxplot()
그러나 이것은 나에게 오류를 준다 : data.frame 유형의 객체에 대해 자동으로 스케일을 선택하는 방법을 모른다.
연속 오류로 기본값 설정 : 미학은 길이가 1이거나 데이터와 길이가 같아야합니다.
누군가 나를 도울 수 있습니까?
나는 당신의 문제가 기둥 medical_speciality
이 요인 이라는 사실에서 비롯된 것이라고 생각합니다 .
따라서 데이터의 하위 집합을 올바르게 설정하더라도 모든 수준 ( "Ortho", "OBGYN"등 포함)을 얻을 수 있습니다.
다음 함수를 사용하여 제거 할 수 있습니다 droplevels
.
newdata<-subset(olddata[ms$medical_specialty=='emergency'|olddata$medical_specialty=='pediatrics',])
newdata <- droplevels(newdata) ## THIS IS THE NEW ADDITION
plot(newdata)
도움이 되나요?
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다