Hi Elio, Try this: Assuming that there is a single blank row separating the matrices:
lines1<- readLines(textConnection("aa5 aa10 b253 b254 aa5 0 1 1 1 aa10 1 0 1 1 b253 1 1 0 1 b254 1 1 1 0 aa5 aa9 b27 b29 aa5 0 1 1 1 aa9 1 0 1 1 b27 1 1 0 1 b29 1 1 1 0 a15 b3 g23 i250 a15 0 1 1 1 b3 1 0 1 1 g23 1 1 0 1 i250 1 1 1 0 a15 a16 q27 v87 a15 0 1 1 1 a16 1 0 1 1 q27 1 1 0 1 v87 1 1 1 0")) lst1<-lapply(split(lines1,cumsum(lines1=="")),function(x) as.matrix(read.table(text=x[x!=""],sep="",row.names=1))) names(lst1)<- paste0("m",seq_along(lst1)) lst1[1:2] #$m1 # aa5 aa10 b253 b254 #aa5 0 1 1 1 #aa10 1 0 1 1 #b253 1 1 0 1 #b254 1 1 1 0 # #$m2 # aa5 aa9 b27 b29 #aa5 0 1 1 1 #aa9 1 0 1 1 #b27 1 1 0 1 #b29 1 1 1 0 #Reading from file: The data you showed seems to be tab separated. It could be different. lines2<- gsub("\t","", readLines("Elio.txt")) ##In case it is just space: #lines2<- readLines("Elio.txt") lst2<-lapply(split(lines2,cumsum(lines2=="")),function(x) as.matrix(read.table(text=x[x!=""],sep="",row.names=1))) names(lst2)<- paste0("m",seq_along(lst2)) identical(lst1,lst2) #[1] TRUE A.K. Hi, I have another question related to the same problem. I have a text file with about 350 matrices each separated by a blank row. My question is how to make R believe each matrix is separate and has a specific name m1, m2,....m350. Below is an example: aa5 aa10 b253 b254 aa5 0 1 1 1 aa10 1 0 1 1 b253 1 1 0 1 b254 1 1 1 0 aa5 aa9 b27 b29 aa5 0 1 1 1 aa9 1 0 1 1 b27 1 1 0 1 b29 1 1 1 0 a15 b3 g23 i250 a15 0 1 1 1 b3 1 0 1 1 g23 1 1 0 1 i250 1 1 1 0 a15 a16 q27 v87 a15 0 1 1 1 a16 1 0 1 1 q27 1 1 0 1 v87 1 1 1 0 This is what I get from R, how to make it believe each one is a matrix and name the matrix m1, m2, m3 and so on. Thanks a lot!! ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.