了解R的IRanges包中的代码这段代码是什么意思?

时间:2013-03-05 02:32:04

标签: r

我是新来的。我只是浏览了一些问题并发现了这些我不理解的代码,可能对我有用......他们在R中下载了一个IRanges软件包,代码与间隔有关。

1 个答案:

答案 0 :(得分:0)

有关tapply的更多信息,请参阅?tapply。

这里是使用cut而不是包IRanges的代码版本:

  idx <- seq(1, ncol(df), by=2)
     o1 <- lapply(idx, function(i) {  
     ## create grouping factor
     fac <- cut(df[,i],seq(0,max(df[i]),30),labels=F)
     fac[is.na(fac)] <- max(fac,na.rm=T)+1
     # compute the mean by interval
     mean=tapply(df[,i+1],fac, mean)
     # put the result in a data.frame
     fac=levels(as.factor(fac))
     d <- data.frame(mean=mean,fac=fac)
})

在此structure

上应用此功能
[1]]
      mean fac
1 1.300000   1
2 1.450000   2
3 2.925000   3
4 1.700000   4
5 2.333333   5

[[2]]
      mean fac
1 2.500000   1
2 2.350000   2
3 1.516667   3

[[3]]
  mean fac
1 1.78   1
2 1.90   2