Я нахожу обходной путь, чтобы сохранить уровни фактора с помощью пользовательских значений, которые я им присвоил:
Обходной путь - «вставить» уровни фактора в метки факторов,а затем с функцией, чтобы разделить их на две разные DF.
Это будет эквивалентно созданию из начальных двух разных наборов данных / фреймов данных, один с метками факторов, а другой с их соответствующими уровнями.
Однако это может оказаться не очень практичным, если выхочу не устанавливать "два раза" ваши переменные.
Поэтому, я полагаю, это добавляет ясности в манипулирование факторами.У вас есть вся необходимая информация в одном месте.Если у вас есть необходимость, вы можете разделить их, создав две разные DFS.
# Example Factor:
age_f <- factor( ordered( 1:3 ), labels = c( "1 Infant", "10 Child", "100 Old" ) )
# The Function
Leveling_Labels <- function( factors, split_arg = " " ) {
leveling_Labels <- list()
for( i in 1:length( factors ) ) {
splits <- strsplit( as.character( factors[[i]] ), split_arg )
leveling_Labels[[i]] <- as.numeric( unlist( lapply( 1:length( splits ), function(x) splits[[x]][1] ) ) )
levels( factors[[i]] ) <- unlist( lapply( 1:length( splits ), function(x) splits[[x]][2] ) )
}
results <- c( factors, leveling_Labels )
results
}
- Фактор, который был сделан:
age_f
[1] 1 Infant 10 Child 100 Old
Levels: 1 Infant < 10 Child < 100 Old
- Запуск функции, которая отделяет фактор от его уровней:
Leveling_Labels (list (age_f), "")
[[1]]
[1] Infant Child Old
Levels: Infant < Child < Old
[[2]]
[1] 1 10 100
- У вас может быть в виде списка ряд факторов
ps. Знаете ли вы, где я могу добавить R-функции, сделанные самостоятельно, подобным образом?Знаете ли вы пакеты, которые открыты для совместной работы или активно ищут вкладчиков на наивном уровне?