2015-04-01 87 views
0

我試着使用XLconnect以進口工作表作爲我的數據源引用工作表的索引,而不是名稱中的R

如果我使用下面的代碼,我得到的後續錯誤

library(XLConnect) 
wk = loadWorkbook("/Users/sebastianzeki/Desktop/SequencingScripts/bedtools/bedtools2-master/CohortComparisons/PanCancerCommonSCNAs.xlsx") 
amp_genesAll_cancer = readWorksheet(wk, sheet="amp_genes.All_cancer.txt", header=TRUE) 
Error: IllegalArgumentException (Java): Sheet index (-1) is out of range (0..25) 

一個解決辦法是將名稱轉換爲工作表的數字,但我仍然需要控制每個數據庫的導入方式,而不是將所有數據導入到一個數據框中。不知道如何執行此操作雖然

+0

幫助文件(?'XLConnect :: readWorksheet')似乎表明,你*可以*使用工作表的索引:'sheet:\t 要讀取的工作表的名稱或索引從# – nrussell 2015-04-01 14:43:55

+0

您是否嘗試給「getSheets(wk)」一個鏡頭以查看可用工作表的名稱...並避免錯誤...有時getSheets返回的名稱與您期望 – WD11 2015-04-01 14:59:20

回答

1

假設您的wk =代碼正確運行,並且您看到「正式班級工作簿」對象出現,您可能拼錯了您的工作表名稱。索引-1意味着作爲標題給出的字符串不匹配。

使用索引,使用:

amp_genesAll_cancer = readWorksheet(wk, sheet=1, header=TRUE) 

其中1張數

+0

與nrussell結合使用的名稱不同是錯別字。運行getSheets(wk)表明這是事實。乾杯 – 2015-04-01 15:14:46

相關問題