[R] how to write a loop to repetitive jobs

jim holtman jho|tm@n @end|ng |rom gm@||@com
Thu Apr 19 06:52:37 CEST 2018


Try this:


result <- lapply(71:75, function(x){
    # use 'paste0' to add the number to the file name
    input <-
read.csv(paste0("C:/Awork/geneAssociation/removed8samples/neuhausen",
                    x,
                    "/seg.pr3.csv")
                    , head=TRUE
            )
    input$id <- paste0("sn", x)
    input  # return the input
    })

result <- do.call(rbind, result)  # combine dataframes together
​


Jim Holtman
Data Munger Guru

What is the problem that you are trying to solve?
Tell me what you want to do, not how you want to do it.

On Mon, Apr 16, 2018 at 1:54 PM, Ding, Yuan Chun <ycding using coh.org> wrote:

> Hi All..,
>
> I need to do the following repetitive jobs:
>
> seg71 <- read.csv("C:/Awork/geneAssociation/removed8samples/neuhausen71/seg.pr3.csv",
> head=T)
> seg71$id <-"sn71"
>
> seg72 <- read.csv("C:/Awork/geneAssociation/removed8samples/neuhausen72/seg.pr3.csv",
> head=T)
> seg72$id <-"sn72"
>
> seg73 <- read.csv("C:/Awork/geneAssociation/removed8samples/neuhausen73/seg.pr3.csv",
> head=T)
> seg73$id <-"sn73"
>
> seg74 <- read.csv("C:/Awork/geneAssociation/removed8samples/neuhausen74/seg.pr3.csv",
> head=T)
> seg74$id <-"sn74"
>
> seg75 <- read.csv("C:/Awork/geneAssociation/removed8samples/neuhausen75/seg.pr3.csv",
> head=T)
> seg75$id <-"sn75"
>
> seg <- rbind (seg71, seg72, seg73, seg74, seg75)
>
> I want to write a loop to do it;
>
> For ( d in 71:75) {
>   Dir<-paste("C:/Awork/geneAssociation/removed8samples/neuhausen", i,
> sep="")
>   setwd(Dir)
> ..........
> then I do not know how to create objects seg71 to seg75;  in SAS, it would
> be  seg&d    ;
>
> I like R, but not good at R.
>
> Can you help me?
>
> Thank you,
>
> Ding
>
>
> ---------------------------------------------------------------------
> -SECURITY/CONFIDENTIALITY WARNING-
> This message (and any attachments) are intended solely...{{dropped:13}}




More information about the R-help mailing list