R 如何为箱线图创建适当的数据集

R 如何为箱线图创建适当的数据集,r,R,我无法为数据集创建正确的箱线图。这个平台上的所有解决方案都不起作用,因为它们的数据集看起来都是不同的,变量之间相互矛盾 所以我想问:如果数据集只包含3个变量,并且它们的测量值在3列中,我需要如何格式化数据集。在这里的箱线图示例中,他们将一个变量与另一个变量进行对比,但这里的情况不是这样的,对吗 使用箱线图(数据)可以得到3个箱线图。但我想在每个箱线图上显示平均值,以及总体规模。我不知道如何使用这个解决方案,因为它们都是关于ggplot2或boxplot的,变量之间相互矛盾 我知道这一定很简单,但

我无法为数据集创建正确的箱线图。这个平台上的所有解决方案都不起作用,因为它们的数据集看起来都是不同的,变量之间相互矛盾

所以我想问:如果数据集只包含3个变量,并且它们的测量值在3列中,我需要如何格式化数据集。在这里的箱线图示例中,他们将一个变量与另一个变量进行对比,但这里的情况不是这样的,对吗

使用箱线图(数据)可以得到3个箱线图。但我想在每个箱线图上显示平均值,以及总体规模。我不知道如何使用这个解决方案,因为它们都是关于ggplot2或boxplot的,变量之间相互矛盾

我知道这一定很简单,但我认为我在用一种糟糕的方法绘制箱线图,这就是为什么这个网站上的解决方案不起作用的原因

数据:

结构(列表)(Rest=c)(3.479386607,3.478445796,2.52227462,, 1.726115552,3.917693859,2.300840122),泥炭=c(16.79515746, 22.76673699, 24.43289941, 15.64168939, 31.60459098, 16.2369787 ),Top.culture=c(8.288,8.732,5.199,6.539,3.248,10.156)),.Names=c(“Rest”,
“Peat”、“Top.culture”、row.names=c(NA,6L)、class=“data.frame”)

如果文本注释是“显示平均值和总体大小”的意思,则:

boxplot(dat)
text(1:3, 12.5, paste( "Mean= ",round(sapply(dat,mean, na.rm=TRUE), 2), 
                       "\n N= ", 
                        sapply(dat, function(x) length( x[!is.na(x)] ) )
      )              )

这使用了另一个(重复)问题中更复杂的数据对象

dat <- structure(list(Rest = c(3.479386607, 3.478445796, 2.52227462, 1.726115552, 3.917693859, 2.300840122, 2.326307503, 2.344828287, 4.654278623, 3.68669447, 3.343706863, 0.712228306, 2.735897248, 1.936723375, 2.724260325, 2.069633651, 1.741484154, 2.304391217, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), Peat = c(16.79515746, 22.76673699, 24.43289941, 15.64168939, 31.60459098, 16.2369787, 32.63285246, 35.91852324, 19.27802839, 21.78974576, 30.39119451, 35.4846573, 42.21807817, 42.00913743, 40.96996704, 19.85075354, 17.247096, 22.81689524, 43.35990368, 37.57273508, 23.76889902, 38.34604591, 20.98376674, 16.44173119, 17.27639888, NA, NA, NA, NA, NA, NA), Top.culture = c(8.288, 8.732, 5.199, 6.539, 3.248, 10.156, 3.436, 5.584, 4.483, 2.087, 3.28, 2.71, 2.196, 4.971, 4.475, 6.361, 5.49, 9.085, 3.52, 5.772, 9.308, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA)), .Names = c("Rest", "Peat", "Top.culture" ), class = "data.frame", row.names = c(NA, -31L))

dat如果您添加一点数据,就更容易提供帮助。尝试dput(head(yourdata))并将其粘贴到上面。我们应该如何“显示平均值”。您希望文本注释在哪里?作为在my boxplo()之后运行此代码的点(菱形、星形等),生成的BoxPlot不会发生任何变化。您是否注意到我对数据对象使用了不同的名称?我避免使用“data”作为对象名,因为当我知道有一个同名函数时,看到它会让我感到困惑。data=dataframe和我的所有值。我用我的“数据”替换了您的“dat”,运行它不会给出任何错误,但它拒绝在箱线图上绘制任何内容。通过测试几种解决方案,我注意到我的一些标签开始消失,但没有添加任何内容