У меня есть несколько столбцов, каждый из которых имеет разное количество столбцов и разные имена столбцов.Я хочу стандартизировать имена столбцов для каждого строчного.Это работает для отдельного тибла:
library(magrittr)
library(purrr)
colnames(tbl1) %<>% map(tolower)
Имена столбцов для объекта tbl1 теперь все в нижнем регистре.
Однако, если я добавлю все свои тиблы в список, это неwork:
all_tbls <- list(tbl1, tbl2, tbl3)
all_tbls %<>% map(function(tbl) {colnames(tbl) %<>% map(tolower)})
При этом имена столбцов для объектов tbl1, tbl2 и tbl3 не изменяются.Объекты в списке all_tbls теперь являются списками имен столбцов для каждого tbl, то есть того, что вы получите, если примените as.list () к результату colnames ()).
Почему это происходит?Есть ли лучший подход к этому?Я бы предпочел использовать функции tidyverse (например, map вместо * apply) для согласованности с другим кодом, но я открыт для других решений.РЕДАКТИРОВАТЬ: Чтобы было ясно, я хотел бы иметь возможность работать с исходными объектами tibble, т.е. желаемый результат для изменения имен столбцов tbl1, tbl2 и tbl3.
Другие вопросы и ответы, на которые я смотрели не нашел подсветку, включающую: