實(shí)際工作中,有時(shí)需要同時(shí)讀取很多csv,但又不能一個(gè)一個(gè)的read.csv
上回分享了assign函數(shù)解決了這個(gè)問題,http://www.itdecent.cn/p/509300fdf923
但是發(fā)現(xiàn)了一個(gè)不用寫循環(huán)的方法。
library(plyr)
- 設(shè)置工作路徑
setwd("/Users/baiyunfan/desktop/ego")
工作路徑下,有這樣的兩個(gè)文件,它們是我做完WGCNA得到的子模塊。

這兩個(gè)文件均是以“_ego.csv”結(jié)尾的, Sys.glob是能查看指定路徑下的文件名
names<-Sys.glob("*_ego.csv")

利用lapply批量讀取,數(shù)據(jù)以list的形式展示
list_dataset<-lapply(names,function(x){read.csv(x)[,c(1,2,4,6)]})
names(list_dataset)<-names

ldply是處理list的函數(shù),把list轉(zhuǎn)化成矩陣,真是一個(gè)神函數(shù)
ego.all<-ldply(list_dataset)

這時(shí)在前面就會多出一列,表示對應(yīng)數(shù)據(jù)來源的文件名