我有一个巨大的数据集,有 679 行和 16 列,其中有 30% 的缺失值。因此,我决定使用 impute 包中的函数 impute.knn 来估算缺失值,并得到一个包含 679 行和 16 列但没有缺失值的数据集。
但现在我想使用 RMSE 检查准确性,我尝试了 2 个选项:
- 加载包
hydroGOF
并应用rmse
功能
sqrt(mean (obs-sim)^2), na.rm=TRUE)
在两种情况下我遇到错误:errors in sim .obs: non numeric argument to binary operator.
发生这种情况是因为原始数据集包含NA
值(缺少某些值)。
如果删除缺失值,如何计算 RMSE?然后obs
and sim
将有不同的尺寸。
简单点怎么样...
sqrt( sum( (df$model - df$measure)^2 , na.rm = TRUE ) / nrow(df) )
显然假设你的数据框被称为df
你必须决定你的N ( i.e. nrow(df)
包括缺失数据的两行;你想排除这些吗N观察?我猜是的,所以而不是nrow(df)
你可能想使用sum( !is.na(df$measure) )
)或者,跟随@Joshua
sqrt( mean( (df$model-df$measure)^2 , na.rm = TRUE ) )
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)