好的,我在当前的工作目录中有45个名为D1 D2 .............. D 45
的文件。每个文件的格式为
Var 1 Var 2
与1000's of rows in each file
。
我希望做的是在每个文件上执行一些函数,然后在我的全局环境中使用相同的名称,即每个文件D1
或D2
。
这些操作是,
colnames(file) <- c("a","b")
file <- aggregate(count~a+b,transform(x,a=pmin(a,b), b=pmax(a,b), count=1),sum)
file <- file[file$a != file$b,]
我希望在当前工作目录中的每个文件上执行这些操作,然后在我的全局环境中获取这些文件。
我为此创建了一个函数,然后使用了apply
命令,但它创建了包含所有值的巨大单个矩阵。操作后我想要单独的文件。
答案 0 :(得分:0)
以下是如何在循环中执行此操作的方法。我不能测试这个,因为我没有任何样本数据,但总体结构成立。我假设你已经有了一张表,它可以作为一个表读入R,但你可能需要用不同的函数替换它,具体取决于数据的外观。
for(i in 1:45) {
data <- read.table(paste0("inFileName", i, ".txt"), header = TRUE)
colnames(data) <- c("a", "b")
data <- aggregate(count~a+b,transform(x,a=pmin(a,b), b=pmax(a,b), count=1),sum)
data <- data[data$a != data$b,]
write.table(data, paste0("outFileName", i, ".txt"))
}