0

我有一个自定义函数,如下所示:

f <- function(case, data, variance, limit) {
    data <- subset(data, pid != case$pid)

    # do some stuff

    out <- data.frame(
        pid=case$pid,
        comp=data$pid
    )

    return(data.frame(out[with(out, order(--distances)), ][1:limit,], rank=0:(limit-1)))
    # distances being a matrix
}

它被应用在一个数据框上,plyr就像......

adply(subset(data$pid == 123), 1, f, data=data, variance=var(data.frame(data$foo)), limit=5)

我不知道如何将其迁移到dplyrusing (我猜) mutate()。如何传递数据框的当前行?我试过这个..

subset(data, pid==123) %>% mutate(foo=f(data=data, variance=var(data.frame(data$foo)), limit=5))

但错误是case永远不会通过......完全混淆了。

4

0 回答 0