5

我有多个文件要加载,并希望将它们连接到 1 个数据框中。我正在尝试使用 textConnection,但它运行非常缓慢。这是我将数据加载到 R 中时的样子:

"1995200008,10,1995,5190.61,73300"   
"1995200010,1,1995,6776.44,42652"   
"1995200011,11,1995,2315.83,4169"    
"1995200014,6,1995,9846.79,2113"    
"1995200017,8,1995,3978.93,2449"     
"1995200018,6,1995,3582.69,2449"    
"1995200022,7,1995,10409.18,2859"

我不能使用 read.csv 因为它使用库从 Hadoop 中提取数据。双引号在数据中。

这是我正在使用的代码:

tmp <- hdfs.read.text.file(filename)
tmp1 <- read.table(textConnection(tmp), sep = ",")

有谁知道一种运行速度更快的方法?

4

1 回答 1

0

hdfs.read.text.file返回一个字符向量。

您可以直接将数组传递给 read.table 函数,而无需创建textConnection. 试试下面的代码,

charV <- hdfs.read.text.file(filename)
df <- read.table(text = charV, sep = ",", header = TRUE)
于 2018-08-08T12:44:48.807 回答