我正在使用一個需要我加載「sam」文件的程序。但是,給出的代碼不會創建必需的data.file
變量,而是會生成""
,而不是空白。無法使用R中的system.file或file.path加載文件?
這是給予代碼:
data.file <- system.file(file.path('extdata', 'vignette-sam.txt'), package='flipflop')
我把:
data.file <- system.file(file.path("Users", "User1", "Desktop", "Cond_18",
"Sorted_bam_files", "Cond_18_1.bam_sorted.sam"),
package='flipflop')
的道路是完全正確和包名是flipflop
。然而,每次我檢查變量data.file
是什麼,它都會產生""
。所以文件永遠不會被加載,腳本也不能運行。
我也把整個文件路徑爲它的一個版本:
data.file <- system.file('/Users/User1/Desktop/Cond_18/Sorted_bam_files/DBM_18_1.bam_sorted.sam',
package='flipflop')
該版本不包括file.path
,但它的腳本示例之一。
在使用這些變量的代碼行是這樣的:
if(preprocess.instance==''){
print('PRE-PROCESSING sam file ....')
data.file <- path.expand(path=data.file) # In case there is a '~' in the input path
if(data.file==''){ print('Did you forget to give a SAM file?') ; return(NULL) }
annot.file <- path.expand(path=annot.file)
samples.file <- path.expand(path=samples.file)
而且由於data.file是""
則默認爲NULL
。
我不認爲你很理解'system.file'的用途。從幫助文件中:「查找軟件包中文件的完整文件名稱」等。您正在從觸發器包中查找文件,還是僅僅是系統中的文件? – Dason
'system.file'用於以獨立於平臺的方式構建與庫內包的基本目錄相關的調用,例如, 'read.csv(system.file('misc','exDIF.csv',package ='utils'))' – alistaire