是否可以在ddply中重用生成的列?

Bra*_*sen 4 r plyr

我有一个脚本,我正在使用ddply,如下例所示:

ddply(df, .(col),
function(x) data.frame(
col1=some_function(x$y),
col2=some_other_function(x$y)
)
)
Run Code Online (Sandbox Code Playgroud)

在ddply中,是否可以重用col1而无需再次调用整个函数?

例如:

ddply(df, .(col),
function(x) data.frame(
col1=some_function(x$y),
col2=some_other_function(x$y)
col3=col1*col2
)
)
Run Code Online (Sandbox Code Playgroud)

Har*_*lan 5

你有一个完整的功能可以玩!不必是一个单行!这应该工作:

ddply(df, .(col), function(x) {
  tmp <- some_other_function(x$y)
  data.frame(
    col1=some_function(x$y),
    col2=tmp,
    col3=tmp
  )
})
Run Code Online (Sandbox Code Playgroud)