2017-07-26 57 views
0

我想根据两个因素(Tiefe)和(Ort)为变量(Theta..vol ..)制作boxplot。单个而不是多个箱形图与ggplot

> str(data) 
    'data.frame': 30 obs. of 6 variables: 
$ Nummer  : int > 1 2 3 4 5 6 7 8 9 10 ... 
$ Name  : int 11 12 13 14 15 16 17 18 19 20 ... 
$ Ort   : Factor w/ 2 levels "NNW","S": 2 2 2 2 2 2 2 2 2 2 ... 
$ Tiefe  : int 20 20 20 20 20 50 50 50 50 50 ... 
$ Gerät  : int 2 2 2 2 2 2 2 2 2 2 ... 
$ Theta..vol..: num 15 16.4 14.9 16.6 10.6 22.1 17.6 10 18 20.3 ... 

我的代码是:

ggplot(data, aes(x = Tiefe, y = Theta..vol.., fill=Ort))+geom_boxplot() 

由于变量(Tiefe)有3个级别和可变(ORT)具有2级我想看到三个成对的箱线图(每对用于单个(但是我只看到一对(一个“Ort”级别的盒子图和另一个“Ort”级别的盒子) 我应该更改每个“Tiefe”三对子的对号吗?谢谢

+0

你需要'因素(Tiefe)'。 – aosmith

+0

谢谢。就是这样! –

回答

0

在您的代码中,Tiefe被读作一个整数而不是一个因子。

使用 dplyrggplot2

简单的解决办法:

首先,我做了一些假的数据:

library(dplyr) 

data <- tibble(
     Ort = ifelse(runif(30) > 0.5, "NNW", "S"), 
     Tiefe = rep(c(20, 50, 75), times = 10), 
     Theta..vol.. = rnorm(30,15)) 

接下来,我们通过管道进入ggplot之前修改Tiefe柱:

data %>% 
    mutate(Tiefe = factor(Tiefe)) %>% 
    ggplot(aes(x = Tiefe, y = Theta..vol.., fill = Ort)) + 
    geom_boxplot() 

ggplot

+0

非常感谢Dave!这对我来说是一个很大的帮助! –