在r中为数据集的每一行调用自定义函数

时间:2018-07-15 22:06:44

标签: r apply

我有一个内置的自定义函数,该函数接受两个输入,进行一些处理以计算值并将其返回。

现在,我想使用数据框的特定列作为此自定义函数的输入。我希望函数处理dataframe列的每一行并计算相应的返回值。我不想使用FOR循环来遍历数据帧的每一行。我已经尝试过“应用”功能-但是,似乎没有运气能使其正常工作。

这是我上面概述的内容的说明。

const minMaxBoard = Board(board.getBoard().slice())

如果函数的计算按预期执行,例如假设Myfunction(movie, user) { do some processing with the input values return(predict_value) } Pred_rating<-apply(Mydataset[,c("Movie_ID","User_ID")],MARGIN = 1,Myfunction) Movie_id列各有5行,那么我希望“ apply”的结果是5个值的向量;因为apply函数已经为输入的每一行计算了一个返回值。

问题:

我是否正确编码“应用”功能? 我应该使用其他交付/打包功能吗?

1 个答案:

答案 0 :(得分:0)

如果您的函数支持矢量化输入,则可以使用以下内容进行计算

waitMutex

,不需要Pred_rating <- Myfunction(Mydataset$Movie_ID, Mydataset$User_ID)

否则,我建议研究for-loopMap。有关详情,请参见this