Message-ID: <1360949766.99423.YahooMailNeo@web142604.mail.bf1.yahoo.com>
Date: 2013-02-15T17:36:06Z
From: arun
Subject: reading data
In-Reply-To: <1360948691.29285.YahooMailNeo@web142605.mail.bf1.yahoo.com>
HI,
Just to add:
res<-do.call(c,lapply(list.files(recursive=T)[grep("mmmmm11kk",list.files(recursive=T))],function(x) {names(x)<-gsub("^(.*)\\/.*","\\1",x); lapply(x,function(y) read.table(y,header=TRUE,stringsAsFactors=FALSE,fill=TRUE))}))? #it seems like one of the rows of your file doesn't have 6 elements, so added fill=TRUE
?names(res)<-paste("group_",gsub("\\d+","",names(res)),sep="")
res[grep("group_b",names(res))]
I am not sure how you want the grouped data to look like.? If you want something like this:
res1<-do.call(rbind,res)
res2<-lapply(split(res1,gsub("[.0-9]","",row.names(res1))),function(x) {row.names(x)<-1:nrow(x);x})
res2
#$group_a
?# ??? Id? M mm??? x???????? b? u? k? j??? y??????? p??? v
#1??? aAA? 1? 2? 739 0.1257000? 2? 2 AA??? 2???? 8867 8926
#2? aAAAA? 1? 2 2263 0.0004000? 2? 2 AR??? 4???? 7640 8926
#3???? aA? 2? 1??? 1 0.0845435? 2 AA? 2 6790 734,1092?? NA
#4??? aAA? 1? 2 1965 0.0007000? 4? 3 AR??? 2??? 11616 8926
#5?? aAAA? 1? 3 3660 0.0008600 18? 3 AA??? 2??? 20392? 496
#6???? AA na? 2 1972 0.0007000 11? 3 AR?? 25????? 509? 734
#7??? aAA? 1? 2? 739 0.1257000? 2? 2 AA??? 2???? 8867 8926
#8? aAAAA? 1? 2 2263 0.0004000? 2? 2 AR??? 4???? 7640 8926
#9???? aA? 2? 1??? 1 0.0845435? 2 AA? 2 6790 734,1092?? NA
#10?? aAA? 1? 2 1965 0.0007000? 4? 3 AR??? 2??? 11616 8926
#11? aAAA? 1? 3 3660 0.0008600 18? 3 AA??? 2??? 20392? 496
#12??? AA na? 2 1972 0.0007000 11? 3 AR?? 25????? 509? 734
#13?? aAA? 1? 2? 739 0.1257000? 2? 2 AA??? 2???? 8867 8926
#14 aAAAA? 1? 2 2263 0.0004000? 2? 2 AR??? 4???? 7640 8926
#15??? aA? 2? 1??? 1 0.0845435? 2 AA? 2 6790 734,1092?? NA
#16?? aAA? 1? 2 1965 0.0007000? 4? 3 AR??? 2??? 11616 8926
#17? aAAA? 1? 3 3660 0.0008600 18? 3 AA??? 2??? 20392? 496
#18??? AA na? 2 1972 0.0007000 11? 3 AR?? 25????? 509? 734
#$group_b
?# ??? Id? M mm??? x???????? b? u? k? j??? y??????? p??? v
#1??? aAA? 1? 2? 739 0.1257000? 2? 2 AA??? 2???? 8867 8926
#2? aAAAA? 1? 2 2263 0.0004000? 2? 2 AR??? 4???? 7640 8926
#3???? aA? 2? 1??? 1 0.0845435? 2 AA? 2 6790 734,1092?? NA
#4??? aAA? 1? 2 1965 0.0007000? 4? 3 AR??? 2??? 11616 8926
#5?? aAAA? 1? 3 3660 0.0008600 18? 3 AA??? 2??? 20392? 496
#6???? AA na? 2 1972 0.0007000 11? 3 AR?? 25????? 509? 734
#7??? aAA? 1? 2? 739 0.1257000? 2? 2 AA??? 2???? 8867 8926
#8? aAAAA? 1? 2 2263 0.0004000? 2? 2 AR??? 4???? 7640 8926
#9???? aA? 2? 1??? 1 0.0845435? 2 AA? 2 6790 734,1092?? NA
#10?? aAA? 1? 2 1965 0.0007000? 4? 3 AR??? 2??? 11616 8926
#11? aAAA? 1? 3 3660 0.0008600 18? 3 AA??? 2??? 20392? 496
#12??? AA na? 2 1972 0.0007000 11? 3 AR?? 25????? 509? 734
#$group_c
?# ?? Id? M mm??? x???????? b? u? k? j??? y??????? p??? v
#1?? aAA? 1? 2? 739 0.1257000? 2? 2 AA??? 2???? 8867 8926
#2 aAAAA? 1? 2 2263 0.0004000? 2? 2 AR??? 4???? 7640 8926
#3??? aA? 2? 1??? 1 0.0845435? 2 AA? 2 6790 734,1092?? NA
#4?? aAA? 1? 2 1965 0.0007000? 4? 3 AR??? 2??? 11616 8926
#5? aAAA? 1? 3 3660 0.0008600 18? 3 AA??? 2??? 20392? 496
#6??? AA na? 2 1972 0.0007000 11? 3 AR?? 25????? 509? 734
#or if you want it like this:
res2<-split(res,names(res))
res2[["group_b"]]
#$group_b
#???? Id? M mm??? x???????? b? u? k? j??? y??????? p??? v
#1?? aAA? 1? 2? 739 0.1257000? 2? 2 AA??? 2???? 8867 8926
#2 aAAAA? 1? 2 2263 0.0004000? 2? 2 AR??? 4???? 7640 8926
#3??? aA? 2? 1??? 1 0.0845435? 2 AA? 2 6790 734,1092?? NA
#4?? aAA? 1? 2 1965 0.0007000? 4? 3 AR??? 2??? 11616 8926
#5? aAAA? 1? 3 3660 0.0008600 18? 3 AA??? 2??? 20392? 496
#6??? AA na? 2 1972 0.0007000 11? 3 AR?? 25????? 509? 734
#$group_b
?# ?? Id? M mm??? x???????? b? u? k? j??? y??????? p??? v
#1?? aAA? 1? 2? 739 0.1257000? 2? 2 AA??? 2???? 8867 8926
#2 aAAAA? 1? 2 2263 0.0004000? 2? 2 AR??? 4???? 7640 8926
#3??? aA? 2? 1??? 1 0.0845435? 2 AA? 2 6790 734,1092?? NA
#4?? aAA? 1? 2 1965 0.0007000? 4? 3 AR??? 2??? 11616 8926
#5? aAAA? 1? 3 3660 0.0008600 18? 3 AA??? 2??? 20392? 496
#6??? AA na? 2 1972 0.0007000 11? 3 AR?? 25????? 509? 734
Hope this helps.
A.K.
----- Original Message -----
From: "veracosta.rt at gmail.com" <veracosta.rt at gmail.com>
To: smartpink111 at yahoo.com
Cc:
Sent: Friday, February 15, 2013 9:15 AM
Subject: reading data
Hi,
I post yesterday and you helped me. I have little problem.
At first, I never worked with regular expressions...
The code that you gave me it's ok, but my files are inside the folders a1,a2,a3. I try to explain better.
I have one folder named "data". Inside this folder I have some other folders named "a1","a2","b1",b2",...and inside of each one of that I have some files. I want only the file "mmmmmm.txt" (in all folders I have One file with this name).
The name of the folder give me the name of the group,but I need to read the file inside. And after, have "group_a", group_"b"...because I need to work with this data grouped (and know the name of the group).
Thank you.