繁体   English   中英

R {ff}-在ffdf中使用

[英]R{ff}- use apply in ffdf

我对在ffdf上使用Apply感兴趣。 我想我不能使用ffdfdply,因为我对拆分列不感兴趣,因为我必须使用由4个组件(“ identifier1”,“ identifier2”,“ value”和“ condition”)组成的行的所有组件根据条件填充2个矩阵。 正如该先前的线程建议的那样( 如何在ffdf中使用apply或sapply或lapply? ),我尝试了以下操作:

apply(physical(myffdf),1,function(x){

  if( x["condition"]=="A"){
        matrix1[x["indentifier1"],x["identifier2"]] <<- x["value"]
  } ifelse( x["condition"]=="B") {
        matrix1[x["indentifier1"],x["identifier2"]] <<- x["value"]

  }
})

但是我已经读到physical()返回一个包含原子ff对象的列表,所以从逻辑上讲我不能使用apply。 有什么建议吗?

看来,您想对行应用一个函数。 您可以为此使用块。 将块放入RAM中并使用apply并将其存储在所需的位置(在RAM或ff中)。

require(ff)
ffiris <- as.ffdf(iris)
for(i in chunk(ffiris)){
  x <- ffiris[i, ]
  apply(x, MARGIN=1, FUN=yourfunction)
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM