do.call小尝试

2021-10-09  本文已影响0人  木随东
#列出文件名, 即文件夹FPKM下所有含mat.csv的文件
fs = list.files('FPKM', pattern = "mat.csv")

file_path = file.path('FPKM', fs)#文件路径

#关于lapply, 需要设定起始值
file=list()
result = vector()

#关键代码,判断矩阵行名是否一致
do.call(rbind, lapply(1:(length(fs)-1), function(x,y){
  file[[x]] = read.csv(file_path[x], row.names = 1)
  y=x+1
  file[[y]] = read.csv(file_path[y], row.names = 1)
  result[x] = identical(rownames(file[[x]]), rownames(file[[y]]))#比较行名
  return(c(file_path[x], file_path[y], result[x]))#只能返回一个值,这里返回一个向量
}))
上一篇 下一篇

猜你喜欢

热点阅读