我有一个格式如下的数据框:
| user_id | ans_id | key_name | prec_pause | trail_pause |
|---------|--------|----------|------------|-------------|
| 1 | 4 | Period | 62.0 | 625.0 |
| 1 | 4 | Spacebar | 172.0 | 156.0 |
| 1 | 5 | Period | 1235.0 | 218.0 |
| 1 | 5 | Spacebar | 218.0 | 141.0 |
| 1 | 8 | Comma | 125.0 | 844.0 |
| 1 | 8 | Comma | 129.0 | 800.0 |
## User-friendly form
dat <- structure(list(user_id = c(1L, 1L, 1L, 1L, 1L, 1L), ans_id = c(4L,
4L, 5L, 5L, 8L, 8L), key_name = c("Period", "Spacebar", "Period",
"Spacebar", "Comma", "Comma"), prec_pause = c(62, 172, 1235,
218, 125, 129), trail_pause = c(625, 156, 218, 141, 844, 800)), .Names = c("user_id",
"ans_id", "key_name", "prec_pause", "trail_pause"), class = "data.frame", row.names = c(NA,
-6L))
我想为每对暂停创建一个方框图,因此一对用于Period_prec_pause,一对用于Period_trail_pause。在上面的例子中,将有3对这样的对。
理想情况下,对之间会有额外的间距,但这是可选的。
答案 0 :(得分:2)
融化您的数据并将其绘图:
library (reshape2)
m = melt(dat[,c(3:5)])
boxplot(value ~ variable * key_name, data = m, col=(c("gold","darkgreen")))