#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()
будет удалено дублирование, если в этой точке есть дублированные имена, но не со ссылкой на индекс столбца.