R中的并排箱线图

时间:2020-04-06 16:17:59

标签: r

我正在尝试制作一个由位置和媒体打破的并列的杜拉塞晶须图。

df <- read.csv("http://citadel.sjfc.edu/faculty/ageraci/data/dataset-nci-2012-subset1.csv")
str(df)
'data.frame':   11475 obs. of  7 variables:
 $ time     : int  1 1 1 1 1 1 1 1 1 1 ...
 $ durasec  : int  168 149 179 155 90 133 17 14 14 18 ...
 $ placement: int  401 402 403 403 403 403 403 403 403 403 ...
 $ format   : int  8 9 8 8 9 8 12 12 12 12 ...
 $ focus    : int  1 1 1 1 1 1 3 3 1 1 ...
 $ topic    : int  5 5 5 2 2 2 26 26 11 24 ...
 $ media    : int  4 4 4 4 4 4 4 4 4 4 ...
favstats(~durasec | placement + media, data =df)
401.4   14  120.25  164.5   197.00  754 171.39686   90.85643    446 0
402.4   9   92.00   143.0   182.00  619 157.20935   107.92586   449 0
403.4   3   23.00   54.0    141.00  807 90.18696    90.50816    4172    0
401.5   12  94.25   165.5   254.75  1136    215.05121   180.52376   742 0
402.5   7   98.50   181.0   306.00  716 211.23293   145.88735   747 0
403.5   3   34.00   96.0    173.50  1098    124.85180   112.56758   4919    0
6 rows
bwplot(placement + media ~ durasec, data = df)

当我运行最后一段代码时,它给出了箱形图和须状图,但在Y轴上而不是像favstats那样是401.4至403.5的组合,它只是给了我1至5而数据没有似乎与favstats完全匹配。

我如何才能像在favstats中那样显示六个组合及其数据?

2 个答案:

答案 0 :(得分:2)

您可以尝试以下代码

library(lattice)
bwplot(durasec ~ as.factor(df$placement) | as.factor(df$media), data = df)

enter image description here

答案 1 :(得分:1)

使用ggplot:

library(ggplot2)
library(dplyr)

df <- read.csv("http://citadel.sjfc.edu/faculty/ageraci/data/dataset-nci-2012-subset1.csv")
df_fac <- df %>%
  mutate_at(vars(placement:media), ~as.factor(.))

ggplot(data = df_fac) +
  geom_boxplot(aes(x = durasec, y = placement, fill = media))

reprex package(v0.3.0)于2020-04-06创建