Преобразуйте фактор-вектор в числовое, сохраняя при этом переменные десятичные разряды - PullRequest
0 голосов
/ 17 октября 2019

as.numeric, кажется, форматирует все значения, чтобы занять наибольшее количество десятичных разрядов, найденных в векторе. Есть ли способ вернуть числовой вектор из факторного вектора, который сохраняет количество десятичных разрядов, которое изначально имело каждое значение?

vals <- factor(c('1', '1.1', '1.11', '1.111'))
as.numeric(as.character(vals))
# [1] 1.000 1.100 1.110 1.111 # every value has 3 decimal places

Желаемый вывод (в виде числового вектора, а не фактора!):

# [1] 1 1.1 1.11 1.111 # every value has conserved the original number of decimal places

Зачем мне это нужно?

Отображение длинного кадра данных с переменными value и measurement. В столбце measurement находятся две отдельные категории измерений (например, weight, height). Категории измерений могут иметь свои собственные единицы измерения и количество значащих цифр. Поэтому, если weight имеет значение до одного десятичного знака, а height имеет значение до двух десятичных знаков, было бы неверно указывать значение weight как 1.10 - это должно быть 1.1.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...