2015-09-08 25 views
0

我有高維數據,我不想一次加載所有的列,因爲它會阻止R和我計算機上正在進行的所有進程。爲了探索數據,我想首先知道行和列的數量,列的名稱以及可能的變量類型(即字符,因子,整數,數字)。最後我想只加載這個.csv文件的幾列。我看過一些例子,但在我看來,首先整個數據都被加載,然後選擇所需的列。加載幾個數據列而不加載全部數據第一個

所以我的問題基本上是:這些探索和選擇步驟可能在R中,而無需第一次加載整個數據?

+1

'data.table :: fread(file =「...」,nrows = 10)'? –

回答

2

對於這類任務,我建議使用{data.table}的fread(),因爲它是使用R中文件處理速度最快的包。 您可以指定「nrows」來讀取所需數量的行,或NROWS = 0到剛讀頭,例如

library(data.table) 
fread("filename.csv",nrows=5) 

您還可以使用「選擇」參數指定要(通過名稱或指數)的列,但不會真正加快了這個過程,因爲通常這個文件是逐行讀取的,閱讀可以說第1,3和5列的速度和所有這些速度一樣快。

+0

謝謝!有沒有一種方法可以逐列閱讀以加快速度? –