我想制作一个箱线图,显示执行行为(警报)所花费的时间如何受到两个变量(时段=上午/下午和访客级别=高/低)的影响。
Alert ~ Period + Vis.Level
Run Code Online (Sandbox Code Playgroud)
“警报”是一组 12 个数字,显示与其他两个作为重要分类变量的清醒时间。我看过其他例子,但似乎没有一个适合此类问题。
我知道我正在寻找的图表上会有 4 个箱线图...据说是
在 x 轴上。
任何帮助都会很棒!
Alert Vis.Level Period
1 0.0 Low Morning
2 1.0 Low Morning
3 0.0 Low Morning
4 11.5 Low Afternoon
5 6.0 Low Afternoon
6 11.5 Low Afternoon
7 0.0 High Morning
8 0.0 High Morning
9 0.0 High Morning
10 0.0 High Afternoon
11 2.5 High Afternoon
12 7.5 High Afternoon
Run Code Online (Sandbox Code Playgroud)
假设您的数据如下所示
dd <- structure(list(Alert = c(0, 1, 0, 11.5, 6, 11.5, 0, 0, 0, 0,
2.5, 7.5), Vis.Level = c("Low", "Low", "Low", "Low", "Low", "Low",
"High", "High", "High", "High", "High", "High"), Period = c("Morning",
"Morning", "Morning", "Afternoon", "Afternoon", "Afternoon",
"Morning", "Morning", "Morning", "Afternoon", "Afternoon", "Afternoon"
)), .Names = c("Alert", "Vis.Level", "Period"), class = "data.frame", row.names = c("1",
"2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"))
Run Code Online (Sandbox Code Playgroud)
然后你需要确保你的因素的顺序正确
dd$Period<-factor(dd$Period, levels=c("Morning","Afternoon"))
dd$Vis.Level<-factor(dd$Vis.Level, levels=c("Low","High"))
Run Code Online (Sandbox Code Playgroud)
然后你可以做
boxplot(Alert~Period+Vis.Level, dd)
Run Code Online (Sandbox Code Playgroud)
或者您可以获得您所要求的确切布局
boxplot(Alert~interaction(Period, Vis.Level, lex.order=T), dd)
Run Code Online (Sandbox Code Playgroud)
