【问题标题】:R -- mean function of column sectionR——柱截面的平均函数
【发布时间】:2017-12-06 17:37:49
【问题描述】:

我正在尝试将平均计算作为更大代码的一部分。这个想法是从一列中的一系列值计算平均值,但不是所有列。

例如,从yFile 中的column_x(10 个条目),计算最后4 个值的平均值:

column_x
1
5
8
3
0
3
3
7
9
9

Result = 7

这就是我所拥有的:

avg_subx <- mean(yFile$column_x, 7:10, trim = 0, na.rm = FALSE)

但由于某种原因,我得到的结果不是正确的值。 你能帮我找出哪里出错了吗?

谢谢!

【问题讨论】:

  • 索引您明确传递的列,如:mean(yFile$column_x[(nrow(yFile) - 3):nrow(yFile)])
  • 问题在于它没有识别行限制,而是对整个列进行平均。关于如何将平均值限制为最后四个条目的任何建议?谢谢!
  • 如果您使用我粘贴的代码,它将起作用。
  • 我不清楚您打算使用什么标准来过滤这些值。例如,如果它是诸如“last 4”之类的位置,那么 VictorCortés 对tail 的使用是正确的;如果它是绝对位置,那么我认为mean(yFile$column_x[7:10],...) 就足够了;如果它是基于值的,那么您可以使用类似于 Zach 的评论或 Filter(...,yFile$column_x,...) 的变量索引。请提供一个或多个具有代表性的样本向量(不需要是完整的data.frame,因为您只是按列执行操作)。
  • 它确实有效!谢谢!我假设 sum 函数的规格相同,对吧?

标签: r mean


【解决方案1】:

您尝试过tail 功能吗?使用tail,您可以选择data framevector 的最后一个n 值。

示例

avg_subx <- mean(tail(yFile$column_x,4))

在这种情况下,您选择的是 las 4 值。

希望对你有帮助!

【讨论】:

  • 我实际上希望能够指定位置。在我的真实数据集中,它不一定对应最后四个,但这在其他情况下会很有帮助,谢谢!
  • 在这种情况下,您必须像这样索引您的vectoravg_subx &lt;- mean(yFile$column_x[c(1,5,7,8)])
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-09-11
  • 1970-01-01
  • 2021-11-18
  • 2018-08-12
  • 1970-01-01
  • 2022-11-04
  • 2021-06-24
相关资源
最近更新 更多