假設我有一個數據幀,看起來像這樣:的R - 參數在命令行錯誤
SNP Frequency
A 20
B 50
C 7
(真正的數據幀當然有更多的行。)
我想怎麼辦將一些參數傳遞給命令行,這將允許我在命令行中設置輸入數據幀和頻率。這是我曾嘗試:
args = commandArgs()
df <-args[1]
freqsub <- subset(df, args[2],header=TRUE)
在args[2]
部分我通常具有的Frequency > somenumber
我知道如何去解決它,當我有df <- args[1]
,但args[2]
沒有。
$ Rscript sumtest.R test.txt Frequency>20
"Error in subset.default(df, args[2], header = TRUE) :
argument "subset" is missing, with no default
Calls: subset -> subset.default
Execution halted"
任何想法?如果需要更多信息,很高興編輯(我無法確定是否是這種情況,對不起)。
感謝您的建議。我試了一下你的建議,並得到了這個問題: 有50個或更多的警告(使用警告()看到的第一個50) 警告消息: 在EVAL(表達式,ENVIR,enclos):來港受到脅迫 同時推出,我可以問你在哪裏打印(參數)檢查?當你說shell時,我認爲它是這一行: '$ Rscript sumtest.R test.txt 20' – Gotmadstacks
我認爲你應該首先嚐試在R交互式會話中調試代碼中的分析部分,然後將腳本轉換爲使用commandArgs可執行文件。這個問題似乎與你正在處理的數據或你如何做的更相關。 – dmontaner
'print(args)'你可以把它放在適合你的任何地方,或者更方便你使用。這只是爲了確保你正在閱讀... – dmontaner