Таким образом, пакет xlsx фактически взаимодействует с библиотекой java, чтобы загружать и изменять рабочие книги. Функции read.xlsx и write.xlsx - это удобные оболочки для чтения и записи фреймов данных в R без необходимости вручную писать код для самостоятельного анализа отдельных ячеек и строк с использованием объектов java. Функции loadWorkbook и getRows предоставляют вам доступ к фактическим объектам Java, которые затем можно использовать для изменения таких вещей, как стили ячеек.
Однако, если все, что вы хотите сделать, это добавить пустую строку в таблицу до ее вывода, самый простой способ - добавить пустую строку в фрейм данных перед ее экспортом (как упоминал Крис). Вы можете сделать это с помощью следующего варианта в вашем коде:
library("xlsx")
fn1 <- 'test1.xlsx'
fn2 <- 'test2.xlsx'
# I have added row.names=FALSE because the read.xlsx function
# does not have a parameter to include row names
write.xlsx(matrix(rnorm(25),5),fn1,row.names=FALSE)
# If you read your data back in using the read.xlsx function
# you will have a data frame rather than a series of java object references
wb <- read.xlsx(fn1,1)
# Now that we have a data frame we can add a blank row at the top
wb<-rbind.data.frame(rep("",5),wb)
# Then we write to the file using the same function as before
write.xlsx(wb,fn2,row.names=FALSE)
Если вы хотите использовать расширенные функциональные возможности в библиотеках java, некоторые из них в настоящее время не реализованы в пакете R, и, следовательно, вам придется вызывать их напрямую, используя .jcall. Если вы решите продолжить эту линию действий, я определенно рекомендую использовать .jmethods для создаваемых объектов (то есть .jmethods (row [[1]])), в котором будут перечислены доступные функции, которые вы можете использовать для объекта (на клеточном уровне). они довольно обширны).