【问题标题】:Median Filter in RR中的中值滤波器
【发布时间】:2017-09-06 19:33:06
【问题描述】:

我有很多点,我需要将均值滤波器(如下所述)转换为中值滤波器以平滑绘图。有人可以指导我吗?

# Mean Filter
smoothfilter <- function(feat, ntap) 
{
    ofeat <- feat                             # Actual data 
    nfeat <- length(feat)                     # Length of a actual data  
    nhtap <- floor(ntap / 2.0)                                                  

    sf <- feat[1:(nfeat-ntap+1)]              
    for (j in 2:ntap) {
        sf <- sf + feat[j:(nfeat-ntap+j)]       
    }

    sf <- sf / ntap
    ofeat[(nhtap+1):(nfeat-nhtap)] <- sf
    ofeat 
}

【问题讨论】:

  • 你想做什么?你想要的输出是什么?
  • 我只想比较均值滤波结果和中值滤波结果。我写了一个均值滤波器,但我对中值滤波器方法感到困惑。

标签: r filter mean median


【解决方案1】:

这是平均滤波器和中值滤波器的两个函数:

mav <- function(x,n=5){filter(x,rep(1/n,n), sides=2)} #Average
mmed <- function(x,n=5){runmed(x,n)} #Median

【讨论】:

  • 我不知道runmed。我马上想到zoo::rollapply
  • 其中的 n=5 是什么?
  • 这只是您的过滤器的参数设置为默认值 5。
  • 这意味着如果你不为 n 放任何东西,它将需要 n=5。这意味着您的过滤器是 5 阶移动平均/中位数。
  • 非常感谢 Smich :)
猜你喜欢
  • 2011-10-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多