当前位置: 首页 > 知识库问答 >
问题:

如何计算R中特定行的均值?

郭炳
2023-03-14

我有一个数据文件如下例,但大得多

names    num    Y1  Y2
William  1  4.71    7.4
William  2  3.75    8
William  3  4.71    7.9
Katja    1  5.83    8.5
Katja    2  5.17    7.1
Katja    3  6.08    7.4
Aroma    1  4.04    7.5
Aroma    2  5       6.9
Aroma    3  4.3     7.9
...

我必须计算Y1和Y2的每个3个相同名称(第一列)的平均值。然后分别用Y1和Y2的每个名称的平均值制作一个条形图。因此,在x轴上,我将有名称,在y轴上将有平均值。任何人都可以帮我吗?

共有2个答案

何向荣
2023-03-14

使用 sqldf 包(假设 df 是您的表)

library(sqldf)
sqldf("SELECT names, avg(Y1) as mean_Y1, avg(Y2) as mean_Y2 FROM df GROUP BY names")
丁雅逸
2023-03-14

您还可以使用聚合。有关详细信息,请参阅?聚合

> aggregate(.~names, FUN=mean, data=df[, -2])
    names       Y1       Y2
1   Aroma 4.446667 7.433333
2   Katja 5.693333 7.666667
3 William 4.390000 7.766667

看看这篇文章,了解为每个组取平均值的另一种选择。

对于条形图,使用R basebarplot函数,尽管还有其他替代方案,例如ggplot2图形。

barplot(DF[,2], names.arg=DF$names, ylab="mean of Y1", las=1) # for Y1
barplot(DF[,3], names.arg=DF$names, ylab="mean of Y2", las=1) # for Y2

其产生:

由于你对R很陌生,我建议你阅读R简介,这是学习R基础知识的一个很好的起点。

 类似资料:
  • 我有一个简短的问题 我有一个数据帧,有许多测量列。我想计算具有相同(标题)名称的列的平均值。我使用下面的代码(在stackoverflow中找到)。。 如何计算数据帧中具有相同列名的列的平均值 作为示例数据... 结果是这样的。。。 这段代码告诉我具有相同(标题)名称的列的含义。 但是我也想要均方差。我试着用rowSds替换rowMeans,但是不起作用。 知道如何使用相同的代码来计算均方差吗??

  • 我有两张表发票和invoice_items。我想要的是和金额为每个发票id和显示在我的看法。 发票表 id invoice_items表 > id 发票号 数量 我想为具体的发票id求和金额列。我对laravel是新来的,所以我如何使用laravel eloquent做到这一点。

  • 我有100行10列的数据(实际数据非常大)。我还有一个row_索引列表,它包含哪些行被认为是平均值。我想计算第2、5、6、7和8列的平均值。我们可以用dataframe对象的函数来实现吗? 我知道的是做一个for循环,为row_index中的每个元素获取行的值,并保持平均值。我们有一些直接的函数,我们可以传递row_list,column_list和轴,用于ex? 我已经看到了DataFrame。

  • 问题内容: 任何人都知道如何计算这些列之一的平均值(在Linux上)? 例如:mean(第2栏) 问题答案: Awk: 读为: 对于每一行,将第2列添加到变量“总计”中。 在文件末尾,打印“总计”除以记录数。

  • 我有一个数据帧: 谢谢!

  • 我试图从购物车(ArrayList)中计算平均值。平均值是指所有产品的总和除以它的数量?,如果我错了请纠正我,也许这就是为什么我的逻辑不太好用。 我试图做一个循环来计算所有乘积的总和,然后除以它的数量。