我ddply
用来拆分数据帧并将块发送到函数。在行之前ddply
,我设置了i=1
. 然后在函数内部递增i
,以便每个数据块都有一个新数字。但是,当我运行它时,i
每次调用该函数时都会将其重置为 1。我认为这是因为i
每次ddply
发送新数据块时都会重新分配函数外部。有没有办法在函数之外递增并将该数字与数据一起发送?
编辑:: 这是调用行:
rseDF <- ddply(rseDF, .(TestCompound), .fun = setTheSet)
这是功能:
##Set The Set Column
setTheSet <- function(df) {
if (df[,"TestCompound"] == "DNS000000001") df[,"Set"] <- "Control"
else {df[,"Set"] <- i
i <<- i+1}
return(df)
}