我是一个“接近零知识”的R用户,需要帮助。
我在一个文件夹中有50个文件,每个文件代表50个步行重复。每个文件都是105行X 9列数据帧。我正在准备我的PCA数据框,需要一些功能。
1)如何迭代导入R中的所有50个文件? 2)如何合并第一列,并且只有每个文件的行(5到105)用于所有50个文件以创建101 X 50数据帧? 3)对每个文件的剩余8列迭代执行步骤2)? 4)使用初始文件名标记合并数据帧的列。
我希望能够提供帮助。
亲切的问候, 伯纳德
答案 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