Import multiple text files in R and assign them na

2019-01-17 13:18发布

问题:

I just started using R and I am having trouble performing the following task: I have approximately 130 language samples in separate plain text files sitting in my working directory. What I would like to do is import them using scan and retain their file names. Specifically, what I would like to do is using something like:

Patient01.txt <-scan("./Patient01.txt", what = "character")
Patient02.txt <-scan("./Patient02.txt", what = "character")
...
Patient130.txt <-scan("./Patient130.txt", what = "character")

Is there a way to use a command such as *apply to automate the process?

回答1:

Here is one way to automate the process

# read txt files with names of the form Patient*.txt
txt_files = list.files(pattern = 'Patient*.txt');

# read txt files into a list (assuming separator is a comma)
data_list = lapply(txt_files, read.table, sep = ",")

You can change the separator if you know what it is. It is convenient to keep the data as a list of data frames since it is easier to throw into a vectorized operation or loops later.



回答2:

            files <- list.files(pattern = 'Patient*.txt')    
            for(i in files) {
            x <- read.table(i, header=TRUE, comment.char = "A", sep="\t")
            assign(i,x)  
            }


标签: r text import