【问题标题】:tapply function in RR中的tapply函数
【发布时间】:2013-06-17 08:31:32
【问题描述】:

我正在尝试将我的移动平均函数应用于一个变量,如下所示:

Fonction.mm <- function(x)
{
  filter(x, poids, sides=1, method="conv")
}

numero<-1:nrow(data)
tapply(numero, data$td, Fonction.mm)

data$td 是一个字符变量,有 2 个类别。

但这不起作用得到错误:

Error in tapply(numero, data$td, Fonction.mm) : 
  arguments must have same length

非常感谢!

【问题讨论】:

  • 为我们提供numerodata$td 的示例数据。即使这样,错误也很明显。 numerodata$td 的长度必须相同。
  • td val 2 38.553 2 2.313 1 7.559 1 95.648 1 7.559
  • td val 2 38.553 2 2.313 1 7.559 1 95.648 1 7.559 val 是我做移动平均的数字变量。
  • numero是整体数据的行数
  • 请编辑您的问题。

标签: r tapply


【解决方案1】:

在 tapply 中,第一个参数是数字,第二个是一个因子,第三个是你使用的函数。

如果您想对 td 进行数值平均,格式为 tapply(data$td, your-factor, fonction.mm)。

还有什么是你的“poids”?

【讨论】:

  • 谢谢我改变了语法,但现在我得到了:错误:无法分配大小为 2.1 Mb / poids 的向量是我平均平均值的选择时间
  • R 并没有真正释放内存。使用 rm(object1, object2, ...) 删除那些使用大量内存的对象。或者开始一个新的 R 会话。如果您有超过 4gb 的可用内存,也请选择 64 位版本的 R。如果这些对您没有帮助,您需要改进代码或为您的计算机获得更多内存(这可能不是问题)。
猜你喜欢
  • 2015-07-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-10
  • 1970-01-01
  • 2018-09-24
  • 2021-11-10
  • 2021-06-02
相关资源
最近更新 更多