Вот простое решение:
library(dplyr) #for pipes and mutate_if
library(purrr) #for map_chr
library(expss) #for apply_labels and labels management
iris2=iris %>%
mutate_if(is.factor, as.character) %>%
apply_labels(Sepal.Length="length", Sepal.Width="witdh", Petal.Length="length2", Petal.Width="width2", Species="spec")
library(Hmisc)
rtn=rbind(names(iris2), label(iris2), iris2)
rtn %>% head
Вы должны использовать mutate_if
, чтобы изменить все факторы на векторы символов, как я сделал в моем фиктивном наборе данных, иначе у вас будет NA
вместо имена и метки.
Тем не менее, обратите внимание, что это приводит к неаккуратным данным, так как первая строка, не относящаяся к заголовку, не является наблюдением. Это может быть нормально для вывода, хотя.