R中如何绘制并列箱线图

4
我正在尝试制作一个按放置和媒体分组的DuraSec并列箱线图。
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个回答

2
您可以尝试以下代码。
library(lattice)
bwplot(durasec ~ as.factor(df$placement) | as.factor(df$media), data = df)

enter image description here


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年4月6日创建


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接