在R中导入和合并.txt或.csv文件

时间:2015-02-13 13:35:47

标签: r import merge

我是一个“接近零知识”的R用户,需要帮助。

我在一个文件夹中有50个文件,每个文件代表50个步行重复。每个文件都是105行X 9列数据帧。我正在准备我的PCA数据框,需要一些功能。

1)如何迭代导入R中的所有50个文件? 2)如何合并第一列,并且只有每个文件的行(5到105)用于所有50个文件以创建101 X 50数据帧? 3)对每个文件的剩余8列迭代执行步骤2)? 4)使用初始文件名标记合并数据帧的列。

我希望能够提供帮助。

亲切的问候, 伯纳德

1 个答案:

答案 0 :(得分:1)

要导入R中的文件,您需要知道文件名。如果您在目录中,则可以获取文件名,并使用list.files()。但是,迭代导入文件的最佳方法是将文件名编号为data1.csv,data2.csv等。这样,您可以使用一个简单的循环来创建文件名并逐个导入。

对于第2部分,只需拉出所需内容,然后迭代地将它们组合在一起。像

这样的东西
retData <- data.frame()

for(f in filenames){

    tempData <- read.csv(f, header=TRUE, sep=",")
    bindData <- tempData[5:105, 1]

    retData <- cbind(retData, bindData)

}

然后对于第3部分,只需在外循环中创建一个遍历列的循环。

最后,对于第4部分,一旦有了文件名,就可以通过

轻松设置列名
colnames(retData) <- filenames