Нет, отменить это изменение невозможно. Если вы сделали
original <- c(1.1,2.1,2.1,1.1,2.1)
manipulated <- factor(original)
, то значения 1.1 и 2.1 будут преобразованы в символьные строки и сохранены как уровни. Но ваше преобразование
manipulated <- factor(original, labels = c("one", "two") )
заменяет уровни на c("one", "two")
, поэтому исходные значения больше не являются частью manipulated
.
Если вы хотите, чтобы изменение было обратимым, вы можете выполнить манипуляцию в два этапа:
original <- c(1.1,2.1,2.1,1.1,2.1)
manipulated <- factor(original)
savedLevels <- levels(manipulated)
levels(manipulated) <- c("one", "two")
restored <- as.numeric( savedLevels[manipulated] )
restored
#> [1] 1.1 2.1 2.1 1.1 2.1
Не обязательно быть идеальным, поскольку числовые версии чисел не точны, но это будет очень близко.