Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何计算R中特定行的平均值?_R_Mean - Fatal编程技术网

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

如何计算R中特定行的平均值?,r,mean,R,Mean,我有一个数据文件,如下例所示,但要大得多 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

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

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轴上是平均值。有人能帮我吗?

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


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


您还可以使用
聚合
。有关更多详细信息,请参见聚合

> 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 base
条形图
功能,尽管还有其他替代方案,如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基础知识的一个很好的起点。

您也可以使用
aggregate
。有关更多详细信息,请参见聚合

> 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 base
条形图
功能,尽管还有其他替代方案,如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很陌生,试着用mean,但没能从中得到什么。如何使用聚合?欢迎加入!请阅读。你试过什么?我对r很陌生,试着用mean,但没能从中得到什么。如何使用聚合?它允许您对数据帧执行
SQL
查询。因此,分解后的查询是按名称列对表进行分组,然后提取名称、Y1的平均值和Y2的平均值。它允许您在数据帧上执行
SQL
查询。因此,分解后的查询是按名称列对表进行分组,然后提取名称、Y1的平均值和Y2的平均值。