我有两个大数据框,一个是模拟数据,另一个是观察数据。 列表示我要比较的点和小时的行。
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值并执行统计,但我想应该有一种更优雅的方式来更改函数。
感谢。
答案 0 :(得分:0)
如果没有可重现的示例,我建议您尝试设置na.rm
参数:
试试这个例子:
BIAS <- function(x, y) { mean(x-y,na.rm=TRUE)}
但是通过进一步的信息,我们可以对您的操作进行矢量化。