【问题标题】:Statistical operation between two data frame in RR中两个数据帧之间的统计运算
【发布时间】:2013-06-20 19:38:15
【问题描述】:

我有两个大数据框,一个是模拟数据,另一个是观察数据。 列代表我要比较的点,行代表小时。

dim(SIM)
[1]  400 1000 

dim(OBS)
[1]  400 1000

400 是小时数,1000 是我要比较的点数。 观察数据框也包含很多 NA 值。因此,当我尝试在两个数据框上应用该功能时:

BIAS <- function(x, y) {
    x <- na.omit(x)
    y <- na.omit(y)
    res <- mean(x - y)
}

NA 值从观察数据帧中删除,最后是空的,因为每行至少有一个 NA。

我怎样才能重新制定它,以便我可以执行操作并最终得到一个新的数据框:

length(VALUEBIAS)
[1]  1000

包含所有点的偏差? 一种解决方案可能是通过列旋转,将它们合并在一起,删除 NA 值并执行统计,但我想应该有一种更优雅的方式来改变函数。

谢谢。

【问题讨论】:

  • 您想要mean 用于整个数据还是每个hour

标签: r statistics dataframe


【解决方案1】:

如果没有可重现的例子,我只能建议你尝试设置na.rm 参数:

试试这个例子:

 BIAS <- function(x, y) { mean(x-y,na.rm=TRUE)}

但有了更多信息,我们或许可以对您的操作进行矢量化处理。

【讨论】:

  • 谢谢。事实上我正在尝试这个,但我忘记删除函数的第一行,我仍然遇到问题。我想我也可以将其应用于 RMSE
  • 其实第一列代表日期。将其从计算中排除会很好。否则,函数会在该位置报告零。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-11
  • 2017-05-28
  • 1970-01-01
相关资源
最近更新 更多