r read_xlsx() привязывает номер ячейки к концу имен столбцов

#r #excel #readxl

#r #excel #readxl

Вопрос:

Я пытаюсь импортировать некоторые данные из Excel в R с помощью read_xlsx() . Обычно мне нравится использовать janitor::clean_names() , чтобы сделать имена столбцов единообразными и упорядочить данные. Это код, который я использовал:

 file_two <- "./data-raw/mass_spec_data_anon.xlsx"
mass_spec_two <- readxl::read_xlsx(file_two, skip = 2) %>% 
  janitor::clean_names()
 

Вывод выдает следующее предупреждение:

 New names:
* gfpA_1 -> gfpA_1...7
* gfpA_2 -> gfpA_2...8
* gfpA_3 -> gfpA_3...9
* GFP1 -> GFP1...10
* GFP2 -> GFP2...11
* ...
 

Я бы хотел, чтобы в именах столбцов не было номеров ячеек как части их имен (т.Е. «gfpA_1», а не «gfpA_1_7». Буду признателен за любую помощь в решении этой проблемы.

Ответ №1:

Вы можете указать, какой тип восстановления имени вы хотите read_xlsx() использовать, с .name_repair помощью аргумента. По умолчанию для создания уникальных имен используется удаление дублирования с использованием индекса столбца, но вы можете переопределить это, чтобы обеспечить только минимальное исправление:

readxl::read_xlsx(file_two, skip = 2, .name_repair = "minimal")

Затем janitor::clean_names() будет удалено дублирование, если в этой точке есть дублированные имена, но не со ссылкой на индекс столбца.