嵌套for循环不能正常工作R.

时间:2017-08-07 20:26:27

标签: r for-loop

我正在尝试创建一个嵌套的for循环,但不知何故,mdata的维度大多不正确。例如,length(mdata[[1:5]])的值几乎都是81,当它们应该是81,50,60等时。在前五个之后,length(mdata)变为全部108个。我的嵌套循环有问题吗?

代码:

chrdata <- list()
mdata <- list()
res_df <- list()

for(i in 1:24) {
  l <- length(olap[[i]])
  for (j in 1:l) {
    #for each row in granges object
    sub_olap <- as.data.frame(mcols(subsetByOverlaps(all_list, olap[[i]][j]))) 
    chrdata[[j]] <- data.frame(median(sub_olap$log2Ratio), #make metadata a single row and determine median
                   paste0(sub_olap$pvalue, collapse = ","),
                   paste0(sub_olap$length, collapse = ","),
                   paste0(sub_olap$sample, collapse = ","), stringsAsFactors = F)
    colnames(chrdata[[j]]) <- c("med_log2Ratio", "pvalue", "length", "sample")
  }
  mdata[[i]] <- chrdata
  mdf <- data.frame(matrix(unlist(mdata[[i]]), nrow = l, byrow = T))
  colnames(mdf) <- c("med_log2Ratio", "pvalue", "length", "sample")
  res_df[[i]] <- cbind(chr[[i]], mdf)
}

0 个答案:

没有答案