Скажем, у вас есть следующая функция, которая сравнивает два типа столбцов данных друг с другом:
dataframe_test <- function(df1, df2) {
varnames <- names(df1)[names(df1) %in% names(df2)]
out <- data.frame(
df1 = sapply(df1[,varnames], class),
df2 = sapply(df2[,varnames], class)
)
out$Test <- ifelse(out$df1 == out$df2, " - ", "FLAG")
return(out)
}
Вот используемая функция:
iris2 <- iris
dataframe_test(iris, iris2)
df1 df2 Test
Sepal.Length numeric numeric -
Sepal.Width numeric numeric -
Petal.Length numeric numeric -
Petal.Width numeric numeric -
Species factor factor -
Как я могу go о переименовывать столбцы выходных данных этой функции (iris, iris2 в моем примере выше) так, чтобы они совпадали с именами входных кадров данных? Все, что я пробовал, вызывало ту или иную ошибку. Например,
out <- rename_(out, .dots = setNames(list(df1), new))
colnames(out) <- c(glue::glue("{df1}"), glue::glue("{df2}"), "Flag")
Но ничего не сработало ...