r - 不同长度向量的箱线图

标签 r boxplot

我有一个 2 列的矩阵。我想对这些列中的每一列进行箱线图,但每列都有不同数量的条目。

例如,第一列有 10 个条目,第二列有 7 个条目。第二列的剩余 3 被赋予零。

出于比较原因,我想并排绘制这些图。

有没有办法告诉 R 对整个第 1 列和第 2 列的前 7 个条目进行箱线图?

最佳答案

例如,您可以简单地索引您想要的值

## dummy version of your data
mat <- matrix(c(1:17, rep(0, 3)), ncol = 2)

## create object suitable for plotting with boxplot
## I.e. convert to melted or long format
df <- data.frame(values = mat[1:17],
                 vars = rep(c("Col1","Col2"), times = c(10,7)))

## draw the boxplot
boxplot(values ~ vars, data = df)

在上面我告诉你你有一个矩阵。如果您确实有一个数据框,那么您将需要
df <- data.frame(values = c(mat[,1], mat[1:7, 2]),
                 vars = rep(c("Col1","Col2"), times = c(10,7)))

并且我假设两列中的数据具有可比性,因为值位于两列中这一事实表明存在允许我们拆分值的分类变量(例如男性和女性的高度,将性别作为分类值)。

生成的箱线图如下所示

enter image description here

关于r - 不同长度向量的箱线图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17749212/

相关文章:

r - 由于代码错误,Knit HTML 无法输出

r - ggplot2 - 来自不同长度来源的多个箱线图

用于 "save link as"的 Rselenium 命令

r - data.table或dplyr-数据操作

R data.table 函数无法识别已指定的参数

R 将行汇总为一行(连续变量和因子变量)

r - 如何在R中的Boxplot中绘制均值和标准误差

r - R中是否提供FoldLeft函数?

r - 仅绘制某些箱线图的抖动点

boxplot - 当我的数据来自 python 字典时,如何将类别名称添加到我的 seaborn 箱线图中?