R管道功能不返回任何内容

时间:2018-04-11 14:24:49

标签: r

我测试了我想在cygwin中运行的代码行(因为我正在使用窗口),如下所示:

/cygdrive/f/Data/testFolder
$ awk -F "," '{if($3 == 10948514) {print}}' < testfile.csv | head -n 20
20180301050630663,3122,10948514,abcd,,,,,,,,,,
20180301050630663,3212,10948514,abcd,,,,,,,,,,
20180301050630663,3122,10948514,abcd,,,,,,,,,,
20180301050630663,3212,10948514,abcd,,,,,,,,,,
20180301050630663,312,10948514,abcd,,,,,,,,,,
20180301050630663,3212,10948514,abcd,,,,,,,,,,

它似乎在Cygwin上运行良好。

但是,由于我使用R进行数据分析,我打算使用R中的pipe函数来过滤掉要读入R的Huge数据集的行。

我在read.csv函数中有以下代码行(请注意,csv根本没有任何标题):

pipe(paste0("awk -F \",\" '{if($3 ==" ,10948514,") {print}}' < testfile.csv",sep=""))

只返回

A connection with                                                                                                                   
description "C:\\Windows\\system32\\cmd.exe /c awk -F \",\" '{if($3 ==10948514) {print}}' < testfile.csv"
class       "pipe"                                                                                                 
mode        "r"                                                                                                    
text        "text"                                                                                                 
opened      "closed"                                                                                               
can read    "yes"                                                                                                  
can write   "yes"   

问题:根本没有读取任何内容。 pipe只返回上述内容。我想知道究竟出了什么问题。可能是因为cmd无法识别awk命令。如果是,那么在pipe函数中调用cygwin吗?它可能是别的吗?

我现在很困惑。

有人可以给我一个解决方案来解决这个问题吗?感谢。

0 个答案:

没有答案