2017-07-26 54 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!這對我來說是一個很大的幫助! –