引用工作表的索引,而不是名称中的R

问题描述:

我试着使用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

假设您的wk =代码正确运行,并且您看到“正式班级工作簿”对象出现,您可能拼错了您的工作表名称。索引-1意味着作为标题给出的字符串不匹配。

使用索引,使用:

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

其中1张数

+0

与nrussell结合使用的名称不同是错别字。运行getSheets(wk)表明这是事实。干杯 – 2015-04-01 15:14:46