相关疑难解决方法(0)

快速读取非常大的表作为数据帧

我有非常大的表(3000万行),我想加载为R中的数据帧 read.table()有很多方便的功能,但似乎实现中有很多逻辑会减慢速度.在我的情况下,我假设我提前知道列的类型,表不包含任何列标题或行名称,并且没有任何我必须担心的病态字符.

我知道在表格中阅读作为列表使用scan()可能非常快,例如:

datalist <- scan('myfile',sep='\t',list(url='',popularity=0,mintime=0,maxtime=0)))
Run Code Online (Sandbox Code Playgroud)

但是我将此转换为数据帧的一些尝试似乎将上述性能降低了6倍:

df <- as.data.frame(scan('myfile',sep='\t',list(url='',popularity=0,mintime=0,maxtime=0))))
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法呢?或者很可能完全不同的方法来解决问题?

import r dataframe r-faq

489
推荐指数
9
解决办法
19万
查看次数

读入文件时指定行名称

我有一个.txt包含行名称的文件.但是,R将行名称设置为第一列.

csv r dataframe rowname

38
推荐指数
2
解决办法
11万
查看次数

如何在data.table中使用fread()指示row.names = 1?

我想将.csv文件中的第一列视为一系列rownames.通常我以前做过以下事情:

read.csv("example_file.csv", row.names=1)
Run Code Online (Sandbox Code Playgroud)

但我想用R包中的fread()函数来做这件事data.table,因为它运行得非常快.

r data.table

17
推荐指数
2
解决办法
6859
查看次数

标签 统计

r ×3

dataframe ×2

csv ×1

data.table ×1

import ×1

r-faq ×1

rowname ×1