来自过滤数据的R Boxplot

时间:2015-09-15 19:56:58

标签: r

我有一个格式如下的数据框:

| 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对这样的对。

理想情况下,对之间会有额外的间距,但这是可选的。

1 个答案:

答案 0 :(得分:2)

融化您的数据并将其绘图:

library (reshape2)
m = melt(dat[,c(3:5)])
boxplot(value ~ variable * key_name, data = m, col=(c("gold","darkgreen")))