Поскольку в наши дни большинство пользователей переходят к «tidyverse» или «data.table» для изменения данных, ваши параметры улучшились.
В «tidyverse» поведение по умолчанию - это сохранениепеременная расплава как character
s:
library(tidyverse)
airquality %>% gather(var, val, everything()) %>% str()
# 'data.frame': 918 obs. of 2 variables:
# $ var: chr "Ozone" "Ozone" "Ozone" "Ozone" ...
# $ val: num 41 36 12 18 NA 28 23 19 8 NA ...
В реализации "data.table" melt
было добавлено несколько новых аргументов, одним из которых является variable.factor
, который может быть установлен вFALSE
.По умолчанию он настроен на TRUE
для согласованности с реализацией "reshape2" melt
.
library(data.table)
str(melt(as.data.table(airquality), variable.factor = FALSE))
# Classes ‘data.table’ and 'data.frame': 36 obs. of 2 variables:
# $ variable: chr "Ozone" "Ozone" "Ozone" "Ozone" ...
# $ value : num 41 36 12 18 NA 28 190 118 149 313 ...
# - attr(*, ".internal.selfref")=<externalptr>