reading data
Hi,
Try by putting quotes ie.
res<- do.call("c",...)
A.K.
From: Vera Costa <veracosta.rt at gmail.com>
To: arun <smartpink111 at yahoo.com>
Sent: Saturday, February 16, 2013 7:10 PM
Subject: Re: reading data
To: arun <smartpink111 at yahoo.com>
Sent: Saturday, February 16, 2013 7:10 PM
Subject: Re: reading data
Thank you.
In mine, I have an error " 'what' must be a character string or a function".
I need to do equivalent in my system.
Thank you and sorry one more time.
No dia 16 de Fev de 2013 23:53, "arun" <smartpink111 at yahoo.com> escreveu:
Hi,
>You didn't mention what the error message or whether you are reading file names which are? not "mmmmm11kk.txt".
>
>It is workiing on my system as I run it again.
>?c() combine values into a vector or list.
>
>?sessionInfo()
>R version 2.15.1 (2012-06-22)
>Platform: x86_64-pc-linux-gnu (64-bit)
>
>locale:
>?[1] LC_CTYPE=en_CA.UTF-8?????? LC_NUMERIC=C?????????????
>?[3] LC_TIME=en_CA.UTF-8??????? LC_COLLATE=en_CA.UTF-8???
>?[5] LC_MONETARY=en_CA.UTF-8??? LC_MESSAGES=en_CA.UTF-8??
>?[7] LC_PAPER=C???????????????? LC_NAME=C????????????????
>?[9] LC_ADDRESS=C?????????????? LC_TELEPHONE=C???????????
>[11] LC_MEASUREMENT=en_CA.UTF-8 LC_IDENTIFICATION=C??????
>
>attached base packages:
>[1] stats???? graphics? grDevices utils???? datasets? methods?? base????
>
>other attached packages:
>[1] stringr_0.6.2? reshape2_1.2.2
>
>loaded via a namespace (and not attached):
>[1] plyr_1.8
>
>
>#code
>
>
>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="")
>res2<-split(res,names(res))
>res3<- lapply(res2,function(x) {names(x)<-paste(gsub(".*_","",names(x)),1:length(x),sep="");x})
>#result
>
>res3
>#$group_a
>#$group_a$a1
>???? 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_a$a2
>???? 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_a$a3
>???? 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
>$group_b$b1
>???? 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$b2
>???? 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_c
>$group_c$c1
>???? 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
>
>
>A.K.
>
>
>
>________________________________
>From: Vera Costa <veracosta.rt at gmail.com>
>To: arun <smartpink111 at yahoo.com>
>Sent: Saturday, February 16, 2013 6:32 PM
>Subject: Re: reading data
>
>
>Sorry again... In:
>res<-do.call(c,lapply(list.files(recursive=T)[grep("...
>What is this c? In do.call(c,?? When I put this row im R, I have an error.
>Thank you
>No dia 15 de Fev de 2013 18:11, "arun" <smartpink111 at yahoo.com> escreveu:
>
>Hi,
>>No problem.
>>
>>BTW, these questions are not stupid..
>>Arun
>>
>>
>>
>>
>>
>>
>>
>>________________________________
>>From: Vera Costa <veracosta.rt at gmail.com>
>>To: arun <smartpink111 at yahoo.com>
>>Sent: Friday, February 15, 2013 1:08 PM
>>Subject: Re: reading data
>>
>>
>>Thank you very much.
>>
>>I will try to apply and after I tell you if it is ok :-)
>>
>>Thank you and sorry about this questions (sometimes stupid questions).
>>
>>
>>
>>
>>2013/2/15 arun <smartpink111 at yahoo.com>
>>
>>HI,
>>>No problem.
>>>?c() for concatenate to vector or list().
>>>If I use do.call(cbind,..) or do.call(rbind,...)
>>>
>>>do.call(cbind,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))}))?
>>>#?? [,1]??? [,2]??? [,3]??? [,4]??? [,5]??? [,6]??
>>>#a1 List,11 List,11 List,11 List,11 List,11 List,11
>>>
>>>
>>>?do.call(rbind,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))}))?
>>>#???? a1????
>>>#[1,] List,11
>>>#[2,] List,11
>>>#[3,] List,11
>>>#[4,] List,11
>>>#[5,] List,11
>>>#[6,] List,11
>>>ie.
>>>list within in a list
>>>
>>>?restrial<-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))})
>>>?str(restrial)
>>>#List of 6
>>># $ :List of 1
>>>? #..$ a1:'data.frame':??? 6 obs. of? 11 variables:
>>>? .#. ..$ Id: chr [1:6] "aAA" "aAAAA" "aA" "aAA" ...
>>>? #.. ..$ M : chr [1:6] "1" "1" "2" "1" ...
>>>? #. ..$ mm: int [1:6] 2 2 1 2 3 2
>>>? #. ..$ x : int [1:6] 739 2263 1 1965 3660 1972
>>>? -----------------------------------------------------------------
>>>str(res)
>>>#List of 6
>>># $ a1:'data.frame':??? 6 obs. of? 11 variables:
>>>?# ..$ Id: chr [1:6] "aAA" "aAAAA" "aA" "aAA" ...
>>>? #..$ M : chr [1:6] "1" "1" "2" "1" ...
>>>?# ..$ mm: int [1:6] 2 2 1 2 3 2
>>>?# ..$ x : int [1:6] 739 2263 1 1965 3660 1972
>>>-----------------------------------------------------------------
>>>
>>>You mentioned about naming this to "group_a","group_b". etc..
>>>
>>>?names(res)<-paste("group_",gsub("\\d+","",names(res)),sep="")
>>>res2<-split(res,names(res))
>>>
>>>res3<- lapply(res2,function(x) {names(x)<-paste(gsub(".*_","",names(x)),1:length(x),sep="");x})
>>>?res3$group_a
>>>$a1
>>>
>>>#???? 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
>>>
>>>#$a2
>>>
>>>#???? 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
>>>
>>>#$a3
>>>
>>>?# ?? 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
>>>A.K.
>>>
>>>________________________________
>>>From: Vera Costa <veracosta.rt at gmail.com>
>>>To: arun <smartpink111 at yahoo.com>
>>>Sent: Friday, February 15, 2013 12:39 PM
>>>Subject: Re: reading data
>>>
>>>
>>>
>>>Thank you very much and sorry my questions.
>>>
>>>But this code isn't grouping for letters sure? I mean, a1,a2,a3 is the same group, (the first letter give me the name of the group)
>>>
>>>Another question, in do.call, you did do.call (c,.....) .What is c?
>>>
>>>Sorry
>>>
>>>
>>>
>>>2013/2/15 arun <smartpink111 at 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.
>>>>???
>>>???
>>
>