在R中导入多个文本文件,并从预定列表中分配它们的名称

时间:2011-03-19 02:00:14

标签: r text import

我刚开始使用R而我无法执行以下任务:我在工作目录中的单独纯文本文件中有大约130个语言示例。我想做的是使用扫描导入它们并保留它们的文件名。 具体来说,我想做的是使用类似的东西:

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

有没有办法使用* apply这样的命令来自动化过程?

2 个答案:

答案 0 :(得分:17)

这是自动化流程的一种方法

# 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 = ",")

如果您知道它是什么,可以更改分隔符。将数据保存为数据帧列表很方便,因为它更容易投入向量化操作或稍后循环。

答案 1 :(得分:1)

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