簡體   English   中英

R 中的分組箱線圖 - 最簡單的方法

[英]Grouped boxplot in R - simplest way

我一直在努力創建一個非常簡單的分組箱線圖。 我的數據如下所示

> data
     Wörter Sätze Text
P.01   0.15  0.24 0.34
P.02   0.10  0.15 0.08
P.03   0.05  0.18 0.16
P.04   0.55  0.60 0.44
P.05   0.00  0.06 0.26
P.06   0.20  0.65 0.68
P.07   0.15  0.31 0.47
P.08   0.35  0.87 0.69
P.09   0.35  0.75 0.76
N.01   0.40  0.78 0.59
N.02   0.55  0.95 0.76
N.03   0.65  0.96 0.83
N.04   0.60  0.90 0.77
N.05   0.50  0.95 0.82

如果我簡單地執行 boxplot(data) 我幾乎得到了我想要的。 一個帶有三個框的 plot,每個框代表我數據中的一個變量。

箱線圖,差不多

我想要的是將每個變量分成兩個框(一個用於 P 索引,一個用於 N 索引觀察),每個總共六個圖。

我首先引入了一個新變量

data$Gruppe <- c(rep("P",9), rep("N",5)) 

> data
     Wörter Sätze Text Gruppe
P.01   0.15  0.24 0.34      P
P.02   0.10  0.15 0.08      P
P.03   0.05  0.18 0.16      P
P.04   0.55  0.60 0.44      P
P.05   0.00  0.06 0.26      P
P.06   0.20  0.65 0.68      P
P.07   0.15  0.31 0.47      P
P.08   0.35  0.87 0.69      P
P.09   0.35  0.75 0.76      P
N.01   0.40  0.78 0.59      N
N.02   0.55  0.95 0.76      N
N.03   0.65  0.96 0.83      N
N.04   0.60  0.90 0.77      N
N.05   0.50  0.95 0.82      N

現在數據包含一個非數值變量,我不能像以前那樣簡單地執行 boxplot() function。 為了獲得我想要的六個地塊,在這里要做的最小改動是什么? (兩組的顏色編碼會很好)

我遇到過一些針對分組箱線圖的解決方案,但是其他人從中開始的數據往往與我的(非常簡單的)數據組織方式不同。

非常感謝!

正如 @teunbrand 已經在評論中提到的,您可以使用pivot_longer來使 Gruppe 的數據格式更長。 您可以使用fill為每個變量制作兩個箱線圖,總共 6 個,如下所示:

library(tidyr)
library(dplyr)
library(ggplot2)

data$Gruppe <- c(rep("P",9), rep("N",5)) 

data %>%
  pivot_longer(cols = -Gruppe) %>%
  ggplot(aes(x = name, y = value, fill = Gruppe)) +
  geom_boxplot()

創建於 2023-01-10,使用reprex v2.0.2


使用的數據:

data <- read.table(text = "     Wörter Sätze Text
P.01   0.15  0.24 0.34
P.02   0.10  0.15 0.08
P.03   0.05  0.18 0.16
P.04   0.55  0.60 0.44
P.05   0.00  0.06 0.26
P.06   0.20  0.65 0.68
P.07   0.15  0.31 0.47
P.08   0.35  0.87 0.69
P.09   0.35  0.75 0.76
N.01   0.40  0.78 0.59
N.02   0.55  0.95 0.76
N.03   0.65  0.96 0.83
N.04   0.60  0.90 0.77
N.05   0.50  0.95 0.82", header = TRUE)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM