Пометка c данных из файла .xlsx при импорте фрейма данных в R - PullRequest
0 голосов
/ 19 апреля 2020

файл Excel с отмеченными данными

Ссылаясь на изображение, указанное выше, я хочу импортировать этот файл Excel в R, но я хотел бы, чтобы данные были красного цвета и имели зачеркивание, которое нужно как-то пометить / пометить в R - чтобы можно было создавать из них векторы. Есть ли способ сделать это без предварительной перестановки фрейма данных?

1 Ответ

0 голосов
/ 19 апреля 2020

Пакет openxlsx имеет возможность доступа к стилю книги. Среди прочего, он читает из рабочих листов следующее:

  • Форматирование ячейки
  • Имя шрифта
  • Размер шрифта
  • Цвет шрифта

Однако, у него нет «эффекта зачеркивания». Но вы, безусловно, можете воспользоваться различными цветами шрифта.

Предположим, у вас есть следующий файл Excel, в котором я сделал две ячейки красными с эффектом зачеркивания и сохранил остальные как обычно:

enter image description here

Загрузите библиотеку и импортируйте данные.

library(openxlsx)

wb <- loadWorkbook("filename.xlsx")
data <- read.xlsx(wb, colNames=FALSE)

Стили содержатся в styleObjects объекте

wb$styleObjects
[[1]]
[[1]]$style
A custom cell style. 

 Cell formatting: GENERAL 
 Font name: Calibri 
 Font size: 11 
 Font colour: #FF0000 

[[1]]$sheet
[1] "Sheet1"

[[1]]$rows
[1] 3 4

[[1]]$cols
[1] 2 3

Может быть много других элементов списка в зависимости от количества пользовательских стилей, примененных к ячейкам на рабочем листе. Каждый пользовательский стиль будет включен в этот объект. Здесь у меня есть только 1 пользовательский стиль, соответствующий красному цвету шрифта (# FF0000). Элементы $ row и $ cols дают индексы строк и столбцов только тех ячеек, которые имеют этот цвет шрифта. Затем вы можете использовать эту информацию для извлечения необходимых значений данных.

red.rows <- wb$styleObjects[[1]]$rows
red.cols <- wb$styleObjects[[1]]$cols

data[cbind(red.rows, red.cols)]
#[1] 43 12
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...