Я часто пишу статьи с корреляционными матрицами. Я хотел бы иметь возможность экспортировать матрицу корреляции в Excel в формате xls или xlsx. Я также хотел бы выделить жирным шрифтом корреляции, соответствующие порогу (например,> 0,2). Я подумал, может быть, XLConnect может обеспечить функциональность.
Чтобы сделать пример простым, предположим, что фрейм данных выглядит следующим образом, и предположим, что я хочу выделить жирным шрифтом все ячейки больше 5.
x <- data.frame(matrix(1:9, nrow = 3))
# > x
# X1 X2 X3
# 1 1 4 7
# 2 2 5 8
# 3 3 6 9
В стороне отмечу, что были предложены решения для выделения ячеек для уценки:
- Как выделить ячейку в таблице жирным шрифтом (kable ) в rmarkdown?
- Выделение жирным шрифтом значимых значений в Rmarkdown таблица
Я также нашел этот ответ, но это не очень общее решение, поскольку требуется совсем немного, чтобы адаптировать его к общей задаче получения фрейма данных и правила форматирования:
экспорт фреймов данных в Excel через xlsx с условным форматированием а>
sheetname <- "mysheet"; write.xlsx(x, "mydata.xlsx", sheetName=sheetname); file <- "mydata.xlsx"; wb <- loadWorkbook(file); cs <- CellStyle(wb) + Font(wb, isBold = TRUE); sheets <- getSheets(wb); sheet <- sheets[[sheetname]]; rows <- getRows(sheet, rowIndex=2L:(nrow(x) + 1L)); cells <- getCells(rows, colIndex = 2L:(ncol(x) + 1L)); lapply(which(t(x) > 5), function(ii) setCellStyle(cells[[ii]], cs)); saveWorkbook(wb, file)
. Я уверен, что вы можете сделать это без создания .xlsx, чтения его в R, применения форматирования и повторного сохранения. - person Jota   schedule 01.08.2016