如何在 r 中绘制最小值、最大值和平均值

Posted

技术标签:

【中文标题】如何在 r 中绘制最小值、最大值和平均值【英文标题】:How to plot minimum, maximum, and mean in r 【发布时间】:2020-02-01 23:01:42 【问题描述】:

我一直在阅读如何在 r 中绘制点,但找不到与我的问题匹配的任何内容。我的数据是一个矩阵;这些行以名为“站点”的列开头,然后是包含参数的三列:最小值、平均值和最大值。矩阵有四行,对应4个站点。

我想要的是一个图表,其中 x 轴上有 4 个站点,每个站点上方的三个数据点(最小值、平均值最大值)由一条线连接。平均值将由一个圆圈表示,而最小值和最大值由一个横线表示。每个装置将由一条线连接。我的输出看起来像一个没有盒子的箱线图,并且有一条线连接手段。

谁能帮助我?这似乎是一个简单的问题,但我很难过。

【问题讨论】:

请考虑添加一个最小的工作示例,包括一个包含人们可以立即复制并粘贴到 R 中的数据的矩阵,然后将您的问题标记为版主注意并请求迁移到 ***.com。 当我尝试添加矩阵时,它显示为单行。我很想把它放在我的问题中,但是网站格式使它不会成为一个矩阵。场地最小值 平均最大值 LW 24.2 27.7 31.3 Laf 22.4 29.7 37.0 Cr 23.1 30.7 38.2 GH 25.9 30.0 34.1 如果您的矩阵名为myMatrix,则只需键入dput(myMatrix)。结果是我们可以粘贴到 R 控制台中,并在其前面加上 myMatrix <- 。瞧。我们有完全相同的东西你有。 【参考方案1】:

定义一个随机矩阵:

set.seed(1)

n_sites <- 4

myMatrix <- cbind(t(replicate(n_sites,sort(rnorm(3)))),1:n_sites)
dimnames(myMatrix) <- list(paste("Site",1:n_sites),c("Min","Mean","Max","n"))

剧情:

plot(c(1,n_sites),range(myMatrix),type="n",xlab="",ylab="",xaxt="n",las=1)
axis(1,1:n_sites,rownames(myMatrix))
arrows(x0=1:n_sites,y0=myMatrix[,"Min"],x1=1:n_sites,y1=myMatrix[,"Max"],angle=90,code=3,length=0.1)
points(1:n_sites,myMatrix[,"Mean"],bg="white",pch=21,type="o")
text(1:n_sites,myMatrix[,"Max"],myMatrix[,"n"],pos=3)

I like using arrows() in cases like this.

【讨论】:

现在我想将样本量添加到上面的图中。如果我将样本大小添加为矩阵中的第四列(称为“n”),我该如何更改代码? 我更新了答案。关键是使用text 命令添加文本。 感谢您的回答...现在我想将样本大小标记为“n=1”、“n=2”等。 不用回答我了……我想通了。再次感谢您的帮助。

以上是关于如何在 r 中绘制最小值、最大值和平均值的主要内容,如果未能解决你的问题,请参考以下文章

具有最小值/最大值的平均值和阴影的线图

如何在python中找到输入数字的平均值、最小值、最大值和范围?

R - 对连续变量标题进行分组,将分类变量因子作为行并聚合为最小值、最大值、平均值

VB中如何求最大值和最小值,我写了下面的代码可是只能求最大值和平均值。最小值一直显示0

如何在 PHP 中的键 => 值对数组中获取最小值、最大值和平均值?

如何找到R中分类列的平均值[关闭]