我有一个表示平面中点的数据框。
x y
1 0.0 0.0
2 0.2 0.0
3 0.3 -0.1
...
我想为该数据编写一个类似
diff
的函数。我已经编写了距离函数 myDist
(不是欧几里得),但是如何将其应用于数据框?即:通过调用
someFunction( myData, myDist )
,我想获得一个向量,其值为 myDist(myData[1,],myData[2,])
、 myDist(myData[2,],myData[3,])
、 myDist(myData[3,],myData[4,])
,...是否有执行此操作的函数,还是我必须编写一个循环?
最佳答案
用 lapply
解决了这个问题:
lapply(seq_len(nrow(myData) - 1),
function(i){
myDist( myData[i,], myData[i+1,] )
})
关于r - 如何将函数应用于 data.frame 中的成对行,类似于 diff?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13505126/