Я заметил странное поведение при использовании units
и label
из пакета Hmisc
, особенно когда я задаю data.frame
, к которому применены labels
и units
.
Если оба параметра labels
и units
были применены к переменной, поднаборы ничего не делают, но если есть только units
, кажется, что поднабор удаляет единицы.
Пример:
library(Hmisc)
df <- head(iris)
Hmisc::label(df$Petal.Length) <- 'Flower'
units(df$Petal.Length) <- 'cm'
units(df$Sepal.Length) <- 'mm'
sapply(df, Hmisc::units) # still has both units
# Sepal.Length Sepal.Width Petal.Length Petal.Width Species
# "mm" "" "cm" "" ""
df <- df[!is.na(df$Species), ] # subset (there's no NAs so not actually removing anything)
sapply(df, Hmisc::units) # only the column with a label still has units
# Sepal.Length Sepal.Width Petal.Length Petal.Width Species
# "" "" "cm" "" ""
Вопрос:
Это ошибка? или есть причина для такого поведения? Я прочитал документацию по функциям Hmisc
, но не вижу ничего очевидного в том, почему это происходит.
Информация о сеансе:
Использование R 3.6.1 , RStudio 1.1.456 и Hmis c 4,3-0