导入Excel工作簿的多个工作表

时间:2018-01-21 16:50:36

标签: r excel

我是R的新手,并尝试在我的专业领域使用此计划的一些特定好处。 现在我只需要将工作簿的几个工作表加载到R中,并将函数应用于这几个工作表。我学会了如何加载函数并将其应用于所有工作表。我的脚本看起来像:

wb <- loadWorkbook(filename = "book.xlsx")
lst <- readWorksheet(wb, sheet = getSheets(wb))
lapply(lst, function(w) { w <- summary(w[1:5]); w })

如何修改此代码才能将该功能仅应用于多个工作表,而不是全部?

1 个答案:

答案 0 :(得分:0)

只需通过括号中的索引编号或名称对列表进行子集化。例如,让我们说第1,第3,第5工作表是您需要运行的功能:

# FOR NAMED OR UNNAMED LIST
sublst <- lst[c(1,3,5)]

# FOR NAMED LIST
sublst <- lst[c("Sheet1", "Sheet3", "Sheet5")]

outputlst <- lapply(sublst,  function(w) ...)

或者在导入期间指定工作表的子集:

sublst <- readWorksheet(wb, sheet = c("Sheet1", "Sheet3", "Sheet5"))

outputlst <- lapply(sublst,  function(w) ...)