如何从R中的多列分组频率绘制箱线图?
我有一个大数据集,看起来像这样如何从R中的多列分组频率绘制箱线图?,r,frequency,boxplot,R,Frequency,Boxplot,我有一个大数据集,看起来像这样 StudentID SectorID ClassID 1 A Team_1 Class_1 2 A Team_1 Class_1 3 B Team_1 Class_1 4 B Team_2 Class_1 5 B Team_2 Class_1 6 A Team_2 Class_1 7 A Team_3 Cl
StudentID SectorID ClassID
1 A Team_1 Class_1
2 A Team_1 Class_1
3 B Team_1 Class_1
4 B Team_2 Class_1
5 B Team_2 Class_1
6 A Team_2 Class_1
7 A Team_3 Class_1
8 C Team_3 Class_2
9 C Team_3 Class_2
10 C Team_3 Class_2
11 C Team_3 Class_2
12 C Team_1 Class_2
13 D Team_1 Class_2
14 D Team_1 Class_2
这可以通过以下方式产生:
stg <- data.frame(StudentID = c( rep("A", 2), rep("B", 3), rep("A", 2), rep("C", 5), rep("D", 2) ),
SectorID = c(rep("Team_1", 3), rep("Team_2", 3), rep("Team_3", 5), rep("Team_1", 3)),
ClassID = c(rep("Class_1", 7), rep("Class_2", 7) )
)
第一行写着,
在一队中,一班的一号学生(ID:A)出现了两次,
学生编号2(ID:B),出现1次
现在,我想将其显示为曲线图,主要是箱线图,比如Y轴上,我想看到频率(如果可能的话,通过颜色与学生ID(x.x)分开),然后根据一些因素(例如团队、班级)进行分组)我看到试图找到复杂的频率,但没有期望的结果。我建议通过查找组合项并记录它们的频率来创建一个简单的data.frame。这可以使用
表功能完成,如下所示:
stg.a <- as.data.frame(table(stg$StudentID, stg$SectorID, stg$ClassID))
names(stg.a)<-c(colnames(stg), 'Freq')
stg.a我认为寻找频率的尝试是复杂的,没有期望的结果。我建议通过查找组合项并记录它们的频率来创建一个简单的data.frame。这可以使用表功能完成,如下所示:
stg.a <- as.data.frame(table(stg$StudentID, stg$SectorID, stg$ClassID))
names(stg.a)<-c(colnames(stg), 'Freq')
stg.a 1)非常感谢@sfyn抽出您的时间。你的帮助确实解决了我试图解决的基本问题。然而,在这个解决方案中,我无法应用(尚未)方面来显示不同的分组。1) 非常感谢@sfyn抽出您的时间。你的帮助确实解决了我试图解决的基本问题。然而,在这个解决方案中,我无法应用(尚未)方面来显示不同的分组。
SectorID ClassID x.x x.freq
1 Team_1 Class_1 1, 2 2, 1
2 Team_2 Class_1 1, 2 1, 2
3 Team_3 Class_1 1 1
4 Team_1 Class_2 3, 4 1, 2
5 Team_3 Class_2 3 4
stg.a <- as.data.frame(table(stg$StudentID, stg$SectorID, stg$ClassID))
names(stg.a)<-c(colnames(stg), 'Freq')
stg.a<-stg.a[which(stg.a$Freq>0),]