如何从R中的矩阵仅创建一个箱线图?

如何从R中的矩阵仅创建一个箱线图?,r,R,我对R比较陌生,我想知道如何为矩阵创建单个箱线图。我已经尽了我所能,它似乎总是为每一行创建一个箱线图。感谢您的帮助。我相信默认情况下,它会为每一列创建一个箱线图,因此我们的想法是只过滤一列 library(tidyverse) # good matrix(1:12, nrow = 4)[,1] %>% boxplot() # not good (without filtering) matrix(1:12, nrow = 4) %>% boxplot() 如果确实需要使用矩阵中的所

我对R比较陌生,我想知道如何为矩阵创建单个箱线图。我已经尽了我所能,它似乎总是为每一行创建一个箱线图。感谢您的帮助。

我相信默认情况下,它会为每一列创建一个箱线图,因此我们的想法是只过滤一列

library(tidyverse)
# good
matrix(1:12, nrow = 4)[,1] %>% boxplot()
# not good (without filtering)
matrix(1:12, nrow = 4) %>% boxplot()
如果确实需要使用矩阵中的所有数字,可以使用as.vector函数

library(tidyverse)
matrix(1:12, nrow = 4) %>% as.vector() %>% boxplot()
或者不使用tidyverse库的情况下使用此方法

boxplot(as.vector(matrix(1:12, nrow = 4)))

如果我理解正确,那么你想要的是矩阵所有列中所有数据的单一箱线图,对吗?如果是这样,则将矩阵转换为数据帧,
unlist
列,并在单个向量上绘制方框图:

set.seed(12)
mtx <- matrix(NA, nrow = 8, ncol = 4)
mtx[] <- rnorm(4, 1, 0.5)
mtx
          [,1]      [,2]      [,3]      [,4]
[1,] 0.4963505 0.4963505 0.4963505 0.4963505
[2,] 1.9633594 1.9633594 1.9633594 1.9633594
[3,] 1.0257152 1.0257152 1.0257152 1.0257152
[4,] 1.9002619 1.9002619 1.9002619 1.9002619
[5,] 0.4963505 0.4963505 0.4963505 0.4963505
[6,] 1.9633594 1.9633594 1.9633594 1.9633594
[7,] 1.0257152 1.0257152 1.0257152 1.0257152
[8,] 1.9002619 1.9002619 1.9002619 1.9002619

您的数据是什么样子的?欢迎使用SO。请向我们展示您的代码和导致多个箱线图的数据片段。您可以添加示例代码吗?尝试了您所说的内容,但它给了我一个错误“找不到函数”%>%,您认为我应该怎么做?很抱歉。请尝试以下操作:箱线图(as.vector(matrix(1:12,nrow=4)))我使用了一个您可能尚未安装的附加库。
df <- as.data.frame(mtx)
alltogether <- unlist(df[,1:4])
boxplot(alltogether)