拉普利不喜欢我的功能

时间:2017-07-12 02:21:17

标签: r sapply

我编写了一个简单的函数来查找两列的平均值

mean_Response <- function(x, colnum, colnum2){
     x[,colnum]+x[,colnum2]) / 2
     }
没有什么花哨的。当我把它叫到桌子上时,这种方法很好用,&#34;数学&#34;但失败了lapply

当我直接运行时,我得到了一个很好的结果

maths$mean_answer <- mean_Response(maths, 12,30)

有魅力,但

lapply(maths,mean_Response, 12, 30)

Error in x[, colnum] : incorrect number of dimensions

同样,如果我尝试将其作为一个匿名函数写入lapply,它也会失败

mean_Response <- sapply(maths, function(x){x[,12]+x[,30]/2})

我觉得我在我的理解中错过了一些基本的东西,但是我无法弄清楚它是什么,我以为你应该能够以这种方式传递东西。

我在其他问题中看到过这可能是由于与矢量交互的方式,但我并不完全确定我理解为什么它会理解某些领域的功能,而不是其他领域。< / p>

我没有找到解决方案,因为如果有意义的话,更多关于了解sapply如何在这里工作的信息(这是一个学习练习而不是&#39;请为我解决这个问题&#39;运动,虽然有关如何修复它的提示是受欢迎的)

0 个答案:

没有答案