0

我想在 x 轴上分别绘制矩阵的所有列,y 轴是矩阵列中的值。为了说明我在创建矩阵时要查找的内容:

test=matrix(c(1,4,3,2,3),ncol=5,nrow=5)

并使用

boxplot(test)

矩阵列的每个箱线图分别出现在 x 轴上。我想要的正是这个,除了点在 y 轴上而不是箱线图上。

4

3 回答 3

1

并不是说以这种方式布置数据很有意义,但这里是:

test=matrix(c(1,4,3,2,3),ncol=5,nrow=5)
plot(rep(1:5, 5), c(t(test)))

在此处输入图像描述

于 2013-03-01T02:22:22.470 回答
1

使用reshape2库来融化数据

library(reshape2)

test = matrix(c(1, 4, 3, 2, 3), ncol = 5, nrow = 5)

plot(melt(test)[, 2:3])

在此处输入图像描述

于 2013-03-01T03:39:52.260 回答
0

boxplot有一个plot论点:

plot
如果TRUE(默认)然后生成箱线图。如果不是,则返回箱线图所基于的摘要。

您感兴趣的结果在stats组件中。

然后你可以使用 matpointsmatplot(..., type = 'p')

请注意,您必须转置结果以获得所需的图

matpoints(t(boxplot(test, plot = FALSE)$stats), pch = 19, col = 'black')
于 2013-03-01T02:40:19.317 回答