在R中使用用户定义函数的apply()

时间:2016-01-27 21:52:52

标签: r

我尝试使用自己的函数使用apply函数。但是,我一直收到此错误:match.fun(FUN)出错:   ' calculate_3month_average_volume(volume_matrix,90)'不是函数,字符或符号

以下代码:

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Try
        ' Validation code
    Catch ex As Exception
        ' Handle exception
    Finally
        TextBox1.Clear()
        TextBox1.Focus()
    End Try
End Sub

1 个答案:

答案 0 :(得分:1)

avg_volume_matrix <- apply(volume_matrix,2,function(x){
  SMA(x,90) #can also be return(SMA(x,90))
  })

也应该这样做,因为你不必在开始时将这个功能调用到你的环境中。

你具体的问题是,当你声明&#34; FUN = calculate_3month_average_volume(volume_matrix,90)&#34;时你的应用循环中,你应该在被调用的函数中匹配关于x的参数,as as apply(x=,MARGIN=,FUN=,...)。如果我们使用的是一个被调用到环境中的函数,我们将使用:

avg_volume_matrix <- apply(volume_matrix,2,calculate_3month_average_volume(x,90))