我想在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)
因为如果我对新数据进行总结,那么所有它都是小儿科和紧急结果 . 但是当涉及到绘图时,它仍然包括矫形器,OBGYN,在x轴上照顾老人而没有盒子图 .
我认为有一种方法可以通过ggplot来做到这一点
ggplot(newdata, aes(x=medical_speciality, y=num_of_procedures, fill=cond)) + geom_boxplot()
但这给了我错误:不知道如何自动选择data.frame类型的对象的比例 .
默认为连续错误:美学必须是长度为1或与dataProblems相同的长度:cond
有人可以帮我吗?
1 回答
我相信你的问题来自
medical_speciality
列是一个因素 .因此,即使您以正确的方式对数据进行分组,您仍然可以获得所有级别(包括“Ortho”,“OBGYN”等等) .
您可以使用
droplevels
函数删除它们:这有帮助吗?