次のようなカスタム関数があります。
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)
dplyr
これをusing (推測)に移行する方法がわかりませんmutate()
。データフレームの現在の行を渡すにはどうすればよいですか? 私はこれを試しました..
subset(data, pid==123) %>% mutate(foo=f(data=data, variance=var(data.frame(data$foo)), limit=5))
しかし、エラーはcase
決して渡されないということです...完全に混乱しています。