ОБНОВЛЕНИЕ: read_excel
из пакета readxl
выглядит лучшим решением. Это очень быстро (0,14 секунды в файле 1400 x 6, о котором я упоминал в комментариях) и оценивает формулы перед импортом. Он не использует Java, поэтому не нужно устанавливать какие-либо параметры Java.
# sheet can be a string (name of sheet) or integer (position of sheet)
raw = read_excel(file, sheet=sheet)
Для получения дополнительной информации и примеров см. короткую виньетку.
ИСХОДНЫЙ ОТВЕТ: Попробуйте read.xlsx
из пакета xlsx
. В файле справки подразумевается, что по умолчанию он оценивает формулы перед импортом (см. параметр keepFormulas
). Я проверил это на небольшом тестовом файле, и у меня это сработало. Результаты формул были импортированы правильно, включая формулы, которые зависят от других листов в той же книге, и формулы, которые зависят от других книг в том же каталоге.
Одно предостережение: если внешний связанный лист изменился с момента последнего обновления ссылок на файл, который вы читаете в R, то любые значения, считанные в R, которые зависят от внешних ссылок, будут старыми значениями, а не последними.
Код в вашем случае будет таким:
library(xlsx)
options(java.parameters = "-Xmx8g") # xlsx also uses java
# Replace file and sheetName with appropriate values for your file
# keepFormulas=FALSE and header=TRUE are the defaults. I added them only for illustration.
raw = read.xlsx(file, sheetName=sheetName, header=TRUE, keepFormulas=FALSE)
person
eipi10
schedule
14.08.2015