シェルスクリプトでR関数を使用して大容量ファイルを読み込もうとしたときにエラーが発生しました。

シェルスクリプトでR関数を使用して大容量ファイルを読み込もうとしたときにエラーが発生しました。

185405149行とヘッダーを含むテキストファイルがあります。私はこのbashスクリプトからこのファイルを読んでいます:

#!/bin/bash
#PBS -N R_Job
#PBS -l walltime=4:00:00
#PBS -l vmem=20gb

module load R/4.2.1

cd filepath/

R --save -q -f script.R

スクリプトの一部は次のとおりです。

# import the gtex data 
gtex_data <- read.table("/filepath/file.txt", header=TRUE)

エラーが発生します。エラー:2.0 GBのサイズのベクトルを割り当てることができません。実行が停止しました。

ディレクトリ/ファイルパスとは何の関係もありません。私はそれが記憶に関連していると思う。ファイル(例:file.txt.gz)を圧縮し、次のコマンドを使用した後でも:

gtex_data <- read.table(gzfile("/filepath/file.txt.gz"), header=TRUE) 

データを読みません。

file.txtの最初の100行を読み、名前を変更してロードするなど、より小さなファイルを試してみましたが、うまくいきます。

vmemを増やしましたか?何をすべきかわかりません。どんなアドバイスや助けでもくれてありがとう。

ファイルサイズも確認してみました。

ls -lh file.txt -rw-r--r-- 1 ... 107M 10月26日 16:50 file.txt

ベストアンサー1

おすすめ記事