引用工作表的索引,而不是名称中的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)
一个解决办法是将名称转换为工作表的数字,但我仍然需要控制每个数据库的导入方式,而不是将所有数据导入到一个数据框中。不知道如何执行此操作虽然
答
假设您的wk =
代码正确运行,并且您看到“正式班级工作簿”对象出现,您可能拼错了您的工作表名称。索引-1意味着作为标题给出的字符串不匹配。
使用索引,使用:
amp_genesAll_cancer = readWorksheet(wk, sheet=1, header=TRUE)
其中1张数
+0
与nrussell结合使用的名称不同是错别字。运行getSheets(wk)表明这是事实。干杯 – 2015-04-01 15:14:46
帮助文件(?'XLConnect :: readWorksheet')似乎表明,你*可以*使用工作表的索引:'sheet:\t 要读取的工作表的名称或索引从# – nrussell 2015-04-01 14:43:55
您是否尝试给“getSheets(wk)”一个镜头以查看可用工作表的名称...并避免错误...有时getSheets返回的名称与您期望 – WD11 2015-04-01 14:59:20