在R中一次操作几个文件

时间:2015-11-05 21:44:01

标签: r

我有几个.txt格式的文件要导入R,根据变量对行进行排序,只将前50000行导出到新文件。 我尝试过如下,但它永远不会完成,并没有说它是错误的。有什么帮助吗?谢谢。

 Map(function(x, y) {
+             all_content = readLines(x)
+             skip_second = all_content[-c(1:9)]
+             df <- read.table(textConnection(skip_second), header = TRUE, stringsAsFactors = FALSE)
+             df1 = df[order(df$pvalue),]
+             df2 = df1[1:50000, c(1:3,12)]
+             write.table(df2,row.names=FALSE, quote=FALSE, file = y)
+     }, x = myfiles, y = newfiles)

1 个答案:

答案 0 :(得分:1)

这不是重复,但最好的答案是:Sorting csv file by 5th column using bash

使用cat组合文件,然后通过管道对它们进行排序并按照说明传递参数以对特定字段进行排序(您需要知道列号而不是名称)。这比在R中尝试在内存中完成要快几个数量级。

如果您正在使用Windows,我很抱歉,但我不知道相应的PowerShell实用程序。