我有一个 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)))
并且我假设两列中的数据具有可比性,因为值位于两列中这一事实表明存在允许我们拆分值的分类变量(例如男性和女性的高度,将性别作为分类值)。
生成的箱线图如下所示
关于r - 不同长度向量的箱线图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17749212/